« first day (720 days earlier)      last day (2460 days later) » 
00:00 - 18:0018:00 - 00:00

12:00 AM
Cool!
 
RELOAD!
[Hosch250/Rubberduck] 10 commits. 350 additions. 327 deletions.
[retailcoder/Rubberduck] 14 commits. 2562 additions. 2816 deletions.
[rubberduck-vba/Rubberduck] 2 commits. 5 opened issues. 1 closed issue. 17 issue comments. 17 additions. 52 deletions.
[Zomis/FactorioMods] 4 commits. 96 additions. 1 deletion.
 
@ThunderFrame markdown borks in mutliline. You have to use 4-space indent for multiline code
 
12:25 AM
@Hosch250 The Add test Module, and add test method seem a bit sporadic in Visio (I haven't checked other hosts lately). Test Explorer only recognises newly added test methods, doesn't recognise test methods that were present on project open.
 
Weird.
 
Parsing seems to stall too, but eventually recovers. Might be related.
 
12:47 AM
@ThunderFrame woah, can I tweet that? PR pending? (catching up)
Oh
Nevermind lol.. I'll wait a bit :-)
@Hosch250 amazing!
 
Actually, not yet.
The parse-tree inspections don't work.
I'm switching to the Inspector class, but I have to modify it to just use the defaults.
 
Still awesome :-)
> Rubberduck.Setup.2.0.1a-pre.exe (5.25MB) - Downloaded 173 times.
Last updated on 2016-04-25
> Rubberduck.Setup.1.4.3.0.exe (4.32MB) - Downloaded 3125 times.
Last updated on 2015-07-08
Now I need to eat.. should be home in ~2hrs, I'll merge the PR's
 
Hey guys - I feel like such a noob, was going to ask about a compiled pre-release right before Mat's Mug posted the download stats... being new to github and all I didn't know where to find it... anyway I've found it now.... so keen to take a peek! Thanks for all your efforts - this is an awesome project :-D
 
@SlowLearner If I were you, I wouldn't download it.
 
@Mat'sMug tweet away
 
12:58 AM
We are planning to do a new release within a week.
Ohh, I just got the parse-tree inspections working!
 
Hope to have a PR by tonight.
 
'vbNullString' preferred to empty string literals	Warning		LanguageOpportunities
Consider renaming module 'Module1'			Suggestion	MaintainabilityAndReadabilityIssues
Move module-level variable 'bar' to a smaller scope.	Suggestion	MaintainabilityAndReadabilityIssues
Option Explicit is not specified in 'Module1'		Error		CodeQualityIssues
Project has default name				Suggestion	MaintainabilityAndReadabilityIssues
variable 'bar' is not used				Warning		CodeQualityIssues
 
Indenter PR is coming soon too.
 
Website PR coming soon too.
I'm done for tonight.
 
Need to write 20,922,789,888,000 tests though.
4
 
1:02 AM
LOL.
 
@Hosch250 Thanks for the heads up, I'll wait .... @ThunderFrame sweet, I'll keep checking
 
Put in 8:50 today, 167:20 total.
Has my output been good for 167:20 hours?
I have 224 merged PR's total. 53 merged PR's since I started my internship.
Have fun, folks!
 
 
2 hours later…
2:38 AM
Damn, I'm going to need to merge with #1587 before I can PR the Indenter changes. The interface needs to change.
 
2:53 AM
0
Q: Interpolating data of multiple trains

theotheraussieI have written a piece of VBA code to essentially replace a complex formula that I was using in the Excel cells. I have the data on Sheet2, which describes multiple train journey's along the same track. the data is set out with each train journey after each other in an order of start time. The ...

 
@SlowLearner thanks! You can download v2.0a if you want, but it's rather disappointing - it's not stable at all, missing the code explorer, and really it was just released so that the early adopters could get a feel of what's coming up - 1.4.3 was released July of last year so 2.0 is a MASSIVE upgrade.. if you want a pretty stable but quite primitive version (with a number of known & now-fixed issues) you could always try 1.4.3 =)
 
Indenter preview (#1587)

* Indenter preview

* Fix setting header indentation

* Add citation line

* Preview text tweaks.
[rubberduck-vba/Rubberduck] retailcoder pushed commit dffdc136 to next: Prevent null selection for Find All References in CE (#1588)
[rubberduck-vba/Rubberduck] retailcoder pushed commit 96b57adf to next: MultipleFolderAnnotationsInspectionTests (#1591)
[rubberduck-vba/Rubberduck] retailcoder pushed commit 5cc554de to next: fix redim statement / type hints / wrong call statement tree (#1592)
Adds Clipboard formats, improves project/component displaynames (#1589)

* Adds RTF and XML Spreadsheet data formats

Still need to RTF-escape content values
Temporary Fix in InspectionResultBase, for instances of unsaved filename
boom.

* XML Spreadsheet builds from XMLWriter instead of StringBuilder

Adds ColumnInfos helper classes, for specifying and formatting column
titles, not yet fully implemented.

* Improves Clipboard export formatter

Adds a DocumentName property to Qual
[rubberduck-vba/Rubberduck] build for commit d702a221 on next: AppVeyor build succeeded
 
Wow, today is a great day for RD 2.0
2
@Comintern it's in :-)
 
Thanks! Just need to do line continuations and unit tests and I'm golden.
 
3:09 AM
[rubberduck-vba/Rubberduck] build for commit dffdc136 on next: AppVeyor build succeeded
 
Golfed out 598 lines of code at current count with only a couple holes left.
 
[rubberduck-vba/Rubberduck] build for commit 96b57adf on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 5cc554de on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 90b27675 on next: AppVeyor build succeeded
 
Nearly finishing my lunch guys. So @Hosch250 just help me here that during your earlier discussion talking about website and dependencies, are we in the end achieving like this picture.
 
3:25 AM
> The `Select Case True` function highlights why parsing P-Code or compiled code helps to identify dead code:

```vba
Private Sub Foo()
Select Case True
Case Bar()
Debug.Print "Bar"
Case Baz()
'Heuristically unreachable.
Debug.Print "Baz"
End Select
End Sub

Private Function Bar() As Boolean
'Should trigger an inspection that it always returns true.
Bar = True
End Function

Private Function Baz() As Boolean
 
Bummer, my iPad won't let me share my picture. Will re ask the question again later tonite. Just don't run away from me with this. :-)
Maybe in text format like this GitHub file of Bruce's. github.com/brucemcpherson/cDataSet/blob/master/libraries/…
He automated all his dependencies in as markdown format using JSON layput
Talk more soon. Chow!
 
@PeterMTaylor - I'd love that.
I wonder if the parse tree could be used to build MIDL. At that point, you could format it pretty much however you wanted.
 
@Comintern Ole Viewer can do it, why not RD....
3
But aren't we just revisiting the UML discussion?
 
Not necessarily UML - I was thinking something more like AutoDox.
Converting MIDL to more readable documentation is trivial.
 
3:45 AM
Well we do have plans for .net-like xml-comments
@Duga I'm not sure I understand how P-Code helps.
TTGTB
 
@PeterMTaylor Yes?
What about the website?
(Just finished the dishes.)
Basically, I made a form to let the user input code to run the refactorings against.
GTG, BBT/
Back before tomorrow for a while.
 
4:38 AM
Back for a short cup of tea but it's a hot chocolate drink from our cuppachino machine break at work
Glad you like it @Comintern. This is by example Bruce McPherson made using VBA which happens to make JSON objects and does processing behind the scenes including regex. He uploads a worksheet like a database with transaction commits. As IIRC @Mat'sMug mentioned that worksheets are slow.
@Hosch250 just more of an example for you to see by someone made a markdown file documentation dependencies. github.com/brucemcpherson/cDataSet/blob/master/libraries/… as you were talking about it thought is this what you may eventually able to make?
 
What is that for?
 
It's for documentation purposes which is kept up to date so his GitHub references all of it is explicitly declared and defined as he codes. So the cls and bas files includes a .md file in this .md file all the dependencies are explained and documentated in one big whoop!
 
I don't get it.
Is it like C# references?
 
5:35 AM
Night.
 
 
1 hour later…
6:38 AM
Eyup! I see no reason all C# references can be documentated in a similar way as Bruce was able to achieve With his VBA reference. Just a suggestion at this time.
 
 
2 hours later…
8:28 AM
> The issue has gone away. It went away after I went into my github repo and deleted all the code modules (.bas) that are no longer in my project.
> Specifically, if you take a project and insert/delete a module and click the "refresh" button in the source control pane, it will not register a change and so will not let you commit the change.

The Github desktop client, on the other hand, will detect the change and will let you commit it.
> The issue has gone away. It went away after I went into my github repo and deleted all the code modules (.bas) that are no longer in my project.

Probably related to https://github.com/rubberduck-vba/Rubberduck/issues/1594
 
Zak
When we get a stable RD 2.0 release, can we call it R2D2?
4
 
8:57 AM
lol
 
 
3 hours later…
11:41 AM
 
@ThunderFrame what a good screenshot to wake up to!
 
11:58 AM
Testing works in Visio, and did earlier too. There's just a delay in the Parser state, so I had to press refresh twice to get the test methods to be recognised.
@Mat'sMug Did you spot those Start and End times in the test report? I haven't added them to the Explorer, but they do end up in the Clipboard.
 
remind me, what IDE is this :).. AWESOME!
 
> Adds Start and End Times for Unit Test results (only viewable in Clipboard exports)
Title and Headings aren't yet localized.
No plain-text clipboard export format yet
[rubberduck-vba/Rubberduck] build for commit 72144dd1 on unknown branch: AppVeyor build succeeded
 
I'm fighting with UNITY container at work.... try get the stupid thing to use the parameter less constructor.. Honestly why is it not using the default constructor.
 
12:20 PM
@Gareth because there's another parameterized one with known/resolvable dependencies?
 
Adds Unit Test support for Visio, clipboard formats for Test Explorer (#1595)

* Adds RTF and XML Spreadsheet data formats

Still need to RTF-escape content values
Temporary Fix in InspectionResultBase, for instances of unsaved filename
boom.

* XML Spreadsheet builds from XMLWriter instead of StringBuilder

Adds ColumnInfos helper classes, for specifying and formatting column
titles, not yet fully implemented.

* Improves Clipboard export formatter

Adds a DocumentName property
[rubberduck-vba/Rubberduck] build for commit 95b0fe48 on next: AppVeyor build succeeded
 
12:41 PM
@Mat'sMug yes, but where and why, and what if I turn it off, and how do I make it compatable..
the default resolver takes it directly from the interface. But I thought I overwrote that by implementing mine later in the registration process...
This app is using a generic registration, followed by a series of overrides, and then another override set. So navigating the registrations is fun!
sorted it though!
test, diff, test, pull, test, commit!
2
 
@Mat'sMug Hey, my Excel 32-bit VBE is usable again. Did you roll back your References changes?
 
1:26 PM
but I'm getting errors when starting MSProject
System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at System.Runtime.InteropServices.ComTypes.ITypeInfo.GetRefTypeInfo(Int32 hRef, ITypeInfo& ppTI)
at Rubberduck.Parsing.Symbols.ReferencedDeclarationsCollector.GetTypeName(TYPEDESC desc, ITypeInfo info) in c:\Users\Andrew\Documents\GitHub\Rubberduck\Rubberduck.Parsing\Symbols\ReferencedDeclarationsCollector.cs:line 95
at Rubberduck.Parsing.Symbols.ReferencedDeclarationsCollector.GetTypeName(TYPEDESC desc, ITypeInfo info) in c:\Users\Andrew\Documents\GitHub\Rubberdu
 
1:38 PM
@ThunderFrame I didn't... but that Project stack trace looks like the same problem
 
Indenter preview (#1587)

* Indenter preview

* Fix setting header indentation

* Add citation line

* Preview text tweaks.
[retailcoder/Rubberduck] retailcoder pushed commit dffdc136 to next: Prevent null selection for Find All References in CE (#1588)
[retailcoder/Rubberduck] retailcoder pushed commit 96b57adf to next: MultipleFolderAnnotationsInspectionTests (#1591)
[retailcoder/Rubberduck] retailcoder pushed commit 5cc554de to next: fix redim statement / type hints / wrong call statement tree (#1592)
Adds Clipboard formats, improves project/component displaynames (#1589)

* Adds RTF and XML Spreadsheet data formats

Still need to RTF-escape content values
Temporary Fix in InspectionResultBase, for instances of unsaved filename
boom.

* XML Spreadsheet builds from XMLWriter instead of StringBuilder

Adds ColumnInfos helper classes, for specifying and formatting column
titles, not yet fully implemented.

* Improves Clipboard export formatter

Adds a DocumentName property to Qual
Adds Unit Test support for Visio, clipboard formats for Test Explorer (#1595)

* Adds RTF and XML Spreadsheet data formats

Still need to RTF-escape content values
Temporary Fix in InspectionResultBase, for instances of unsaved filename
boom.

* XML Spreadsheet builds from XMLWriter instead of StringBuilder

Adds ColumnInfos helper classes, for specifying and formatting column
titles, not yet fully implemented.

* Improves Clipboard export formatter

Adds a DocumentName property
Merge pull request #107 from rubberduck-vba/next

sync with main repo
 
> Run test finished: 975 run (0:00:40.2800276)
@ThunderFrame still crashing here
 
@Mat'sMug Well, I was planning on adding Unit Tests for MSProject. I can add the code, and maybe PR, but I won't be able to test it....
It would be an untested unit testing project in Project...
TTGTB - night
 
1:55 PM
'night!
@ThunderFrame is MSProject 32-bit as well?
 
@Mat'sMug - Looking over that stack track, it looks like there are only 2 error results that GetRefTypeInfo is documented to report E_OUTOFMEMORY and E_INVALIDARG. The first is easy to check (and could conceivably lead to an access violation too depending on the internal implementation - but I doubt that).
I don't have 32-bit Office at work, but I'll take a look at it when I get home tonight.
 
2:13 PM
I'm posting it on SO
 
2:26 PM
0
Q: Untrappable COMException with GetRefTypeInfo

Mat's MugI have a function whose role is to return the name of a COM type; it works fine on x64, but crashes in the middle of iterating the COM types in the Excel type library (and MS-Project too, ..and probably other ones I'm not aware of), and I can't seem to be able to do anything to catch the exceptio...

 
2:43 PM
E_FAIL could mean anything, it is merely a teacher's grade for the quality of the error reporting. If it actually means "oops, I just corrupted the dickens out of the heap" as it appears to do in this case then you will need Microsoft Support to get ahead. — Hans Passant 43 secs ago
if Hans Passant can't help us, nobody can
so... we're at the point where we need to get Microsoft involved into Rubberduck I guess?
 
OK, hijacked a VM here. The call that fails is System.Delegate.DynamicInvokeImpl(object[])
 
huh
 
This is what the call stack looks like:
>	mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args)	Unknown
 	System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme)	Unknown
 	System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 
Hi.
 
If I understand right, TYPEDESC is a union, and the first 32 bits contain an HREFTYPE if vt is VT_USERDEFINED. So I don't understand why you're taking 64 bits (des.lpValue) and casting to int rather than just taking the first 32 bits. I.e. desc.lpValue.ToInt64() & 0xFFFFFFFF — Joe 29 secs ago
 
2:48 PM
That sounds familiar. ;-)
 
but then, why would it work for the entire VBA and MS-Word object models?
 
The only reason it jumped out at me is that it isn't portable, but who cares about that for a MS plugin, right?
 
yep
it's not like I intend to support RD on a Mac
 
ToInt64() & 0xFFFFFFFF should be the same as a narrowing cast.
You and MS both.
 
or Linux
=)
 
2:53 PM
OK, now I'm going to have to try loading it in Wine...
 
If we had access to a Mac, it might not be too hard in the coming years.
It looks like C# on *nix systems is coming along nicely.
 
@Comintern #106 :)
@Hosch250 the problem isn't C#, it's COM
 
Oh.
 
Don't get any ideas of reverting the status-declined on that one on my account...
 
no worries hahahaha
sucks that I can't just circumvent it like this:
try
{
    ITypeInfo refTypeInfo;
    info.GetRefTypeInfo(href, out refTypeInfo);
    return GetTypeName(refTypeInfo);
}
catch (Exception)
{
    return "Object";
}
 
2:59 PM
@Mat'sMug Got any styling ideas for that?
 
Sucks that I don't know ASM well enough to know what should be in these registers:
		ECX	00000003
		EDX	00000000
		EBX	1377DC9C
		ESI	1377CEB0
		EDI	1377DC7C
 
@Hosch250 I'd put the box at the bottom
also you have a pending PR still, saw my comment?
 
No.
 
@Comintern what's the worse that could happen if we just brute-force-enter-digits in there until it doesn't crash anymore? #NotReallyAsking
 
I don't know. Aren't they displayed in different windows?
 
3:07 PM
no
 
Oh :/
 
Access violation? Oh wait, already doing that...
 
@Hosch250 there's one "search results" docked toolwindow that's hosting the tabs for all types of search results and parser errors
@Comintern IKR :)
 
I'm trying to tease the internal HRESULT out, but it either doesn't decode correctly or isn't documented: 0x80131604?
 
E_FAIL could mean anything, it is merely a teacher's grade for the quality of the error reporting. If it actually means "oops, I just corrupted the dickens out of the heap" as it appears to do in this case then you will need Microsoft Support to get ahead. — Hans Passant 26 mins ago
> in this case then you will need Microsoft Support to get ahead.
question is, why was it working before, and what changed to corrupt it that way
 
3:12 PM
Well, I found the internal HRESULT: 0x0x80004003 = E_POINTER = Invalid pointer.
 
oh, surprise! lol damn you're a wizz
so the invalid pointer would be the href, right?
 
Think so.
OK, I was able to trap it.
 
@Comintern You should go answer the SO question & get your magical internet unicorn points
 
@FreeMan - I don't really have the answer, I was just able to trap the error.
 
@Comintern how?
 
3:25 PM
        [DllImport("kernel32.dll")]
        static extern bool IsBadReadPtr(IntPtr lp, uint ucb);

        private string GetTypeName(TYPEDESC desc, ITypeInfo info)
        {
            var vt = (VarEnum)desc.vt;
            TYPEDESC tdesc;

            switch (vt)
            {
                case VarEnum.VT_PTR:
                    if (IsBadReadPtr(desc.lpValue, (uint)IntPtr.Size))
                    {
                        Debug.WriteLine("Bad read pointer.");
                        return "UNKNOWN";
 
If it's trappable, then I can make the function return a fallback "Object" string and walk away happy I think
Oh wow
 
I'm checking to see what it does to the rest of the tree right now.
I'm still stumped as to why it's a bad pointer.
 
todo: log these bad reads
 
Looks like there's 4 of them in my output.
That likely means it didn't smash the stack or corrupt the heap.
 
Wouldn't that mean VBA code handling that event would crash & burn as well?
 
3:29 PM
One way to find out...
 
Bad read pointer; returning fallback 'Object' type name.
Bad read pointer; returning fallback 'Object' type name.
Bad read pointer; returning fallback 'Object' type name.
Bad read pointer; returning fallback 'Object' type name.
yup, I get the same 4 I presume
the good news is that it's no longer crashing
 
Curiously, it's only failing on the IAppEvents interface. It resolves the exact same definition on IWorkbookEvents, AppEvents, and WorkbookEvents.
 
@Hosch250 there's a problem in the CE, it's not showing all projects - yet the parser & resolver sees them and processes them fine.
 
Strange.
 
3:41 PM
 
VBE's object browser can see it.
 
that means I'm doing something wrong I guess
 
Eh, I never use pivot tables...
 
I use them all the time, but I wouldn't even know how to trigger that specific event
 
I used to know someone else who really liked them.
Haven't seen them in over a year though :/
 
3:43 PM
Working on it trying to trigger it now.
 
> 1.4.1068-next
Over 1k builds on AppVeyor.
 
@Mat'sMug Who invited Bart Simpson to this project?
 
lol
trying to find out
 
@Mat'sMug Ditto that - we make extensive use of Pivots
 
[rubberduck-vba/Rubberduck] build for commit 356d32b6 on unknown branch: AppVeyor build succeeded
 
3:48 PM
@Mat'sMug Can you share the project with me so I have an exact repro?
NVM, it should work by just opening two Excel docs?
 
not sure
but I'll have to anonymize that file, it's reporting the company's financials over the past 2 years
 
shrug
@Mat'sMug LOL, don't share it then.
 
@Hosch250 ThunderFrame's QualifiedModuleName.ComponentTitle is throwing left and right here
 
Ah. The problem appears to be opening one, opening the VBE, then opening another.
 
yes
@Hosch250 can you look at what ThunderFrame did, and "convert" it to use your implementation instead?
 
3:53 PM
Sure.
 
he stuck it into InspectionResultBase.ToArray - InspectionResultBase has access to a Declaration, in principle (Target).
 
Boy, parsing a blank project takes ages.
 
did you pull the latest changes? that should be better now
 
Yeah.
Umm, I found the reason, @Mat'sMug.
The Code Explorer works fine.
 
4:06 PM
Even after a refresh, the number of declarations in _state.AllUserDeclarations remains the same.
This is for a pair of empty projects.
 
but the two projects should have their own ID's... this isn't "fine"! :)
 
I didn't say the parser state was working. I said the Code Explorer was.
 
that's not what I saw. the code was parsed and resolved, and the project with the code (opened after bringing up the VBE) wasn't in the CE
 
I logged the number of declarations. I can't debug with multiple projects open.
The count never changed, even though it should have doubled.
 
look at the context statusbar in my shot above. it knows about the project, and the CE doesn't.
 
4:10 PM
No, it doesn't.
I have the same status bar format over here.
Look at the difference between the one it knows and the one it doesn't:
 
oh
 
right, that's just the module's name
 
OK.
 
dammit
 
4:12 PM
OK, quick question:
This looks awfully like the parser doesn't read the components from the VBE after the first time, but only parses the ones it knows about.
 
so, opening a project after the VBE is loaded up (whether there's code or not), doesn't parse it. that's quite major.
 
Does the parser work off the parser state after the first time?
 
you tweaked the caching. does it?
 
Is this a case of relying on failing sinks, perhaps?
No idea.
I didn't touch where the parser reads the code from.
I only changed the way the cache stored stuff.
 
could be the sinks
if the ProjectAdded event doesn't fire, that would explain it. I can't debug ATM, trying to get some work done :)
 
4:15 PM
Gasp
var projects = _state.Projects.ToList();
var components = projects.SelectMany(p => p.VBComponents.Cast<VBComponent>()).ToList();
I was right.
And I didn't do that.
 
FML
 
So, why isn't that projects list being updated?
I didn't touch that part of the cache.
I left the projects the way it was.
OK, probably the sink.
 
aye, the sink is supposed to add the project to _state.Projects
 
It could be a case of messing up when we are clearing the cache.
 
is the sink doing its job?
 
4:19 PM
Checking.
 
if it's not reliably doing it, then we need a mechanism to make sure _state.Projects contains all the projects in the VBE (using the ProjectID's to tell)
 
It doesn't report the second opened project.
 
I'm starting to wonder if these damn sinks are any good
 
I don't know. I've had a lot of trouble fixing bugs caused by them.
 
let's just keep 'em around, use them when they work, and work around their failures
 
4:23 PM
Oh wait, it is firing:
Project added: Project1
Project renamed: VBAProject
1 : 3
1 : 3
Project added: Project1
1 : 3
Project renamed: VBAProject
1 : 3
Project activated: VBAProject
Project activated: VBAProject
1 : 3
It probably thinks they are the same project, or something. I don't know.
 
what's the 1:3 thing
@Hosch250 unlikely
 
@Mat'sMug That is the code explorer--one known project and three user declarations.
 
kk
 
Checking the number of projects the parser knows about.
 
_parser.State.AddProject(e.Item); // note side-effect: assigns ProjectId/HelpFile
so this line runs then
...wtf
 
4:25 PM
Project added: Project1
Project renamed: VBAProject
Projects to parse: 1
1 : 3
Project added: Project1
Projects to parse: 2
1 : 3
Project renamed: VBAProject
Projects to parse: 1
1 : 3
Project activated: VBAProject
Project activated: VBAProject
Projects to parse: 1
1 : 3
Yeah, clearing the cache, looks like.
Different project IDs.
 
...as it should...
wait a sec
Project added: Project1
Projects to parse: 2
Project renamed: VBAProject
Projects to parse: 1
 
Project added: Project1
Project renamed: VBAProject
Projects to parse: 1
Projects to parse: 1
Projects to parse: 1
Projects to parse: 1
1 : 3
Project added: Project1
Projects to parse: 2
Projects to parse: 2
Projects to parse: 2
1 : 3
Project renamed: VBAProject
Projects to parse: 1
Projects to parse: 1
Projects to parse: 1
1 : 3
Project activated: VBAProject
Project activated: VBAProject
Project added: Project1
Project added: 53130720
Project renamed: VBAProject
Known projects: 1
Known projects: 1
 
nevermind, that's for a blank project. the problem is the same regardless of whether the project is renamed or not
 
Interestingly enough, it looks like those project ID's are from before they are renamed.
After they are renamed, the ID probably changes, losing the reference to one of them.
async void sink_ProjectRenamed(object sender, DispatcherRenamedEventArgs<VBProject> e)
{
    File.AppendAllLines("C:\\users\\hosch\\desktop\\log.txt", new[] { "Project renamed: " + e.Item.Name });
    if (!_parser.State.AllDeclarations.Any())
    {
        return;
    }

    _logger.Debug("Project '{0}' (ID {1}) was renamed to '{2}'.", e.OldName, e.Item.HelpFile, e.Item.Name);
    _parser.State.RemoveProject(e.Item.HelpFile);
    _parser.State.OnParseRequested(sender);
}
 
so there's the problem. in the ProjectRenamed handler
but no
no
 
4:40 PM
Interesting:
Project added: Project1
Project added: 53130720
Project renamed: VBAProject
Known projects: 1
Known projects: 1
Projects to parse: 1
Known projects: 1
1 : 3
Project added: Project1
Project added: 37389755
Known projects: 2
Known projects: 2
Projects to parse: 2
1 : 3
Project renamed: VBAProject
Project added: 37389755
Known projects: 2
Known projects: 2
Projects to parse: 2
1 : 3
Project activated: VBAProject
Project activated: VBAProject
Known projects: 2
Known projects: 2
Projects to parse: 2
 
it doesn't explain the same behavior when opening an existing project after the VBE has loaded
 
I re-added the project after removing it.
 
the ProjectID gets written to the project properties, it will remain the same regardless of the name
 
OK.
 
it's the whole point of the ProjectID actually :)
 
4:41 PM
But it removes the helpfile in a rename.
 
huh?
 
NVM.
_parser.State.RemoveProject(e.Item.HelpFile);
 
it removes the project by its ID/helpfile
Projects to parse: 2
1 : 3
^^ that is weird
 
It is.
 
where's "projects to parse" coming from?
 
4:44 PM
The parser.
 
I take it that the parser state is correct then
 
Project added: Project1
Project added: 53130720
Project renamed: VBAProject
Known projects: 1
Known projects: 1
Projects to parse: 1
Components to parse: 2
Components unchanged: 0
Known projects: 1
1 : 3
Project added: Project1
Project added: 37389755
Known projects: 2
Known projects: 2
Projects to parse: 2
Components to parse: 0
Components unchanged: 2
1 : 3
Project renamed: VBAProject
Known projects: 2
Known projects: 2
Projects to parse: 2
Components to parse: 0
Components unchanged: 2
1 : 3
cough One of the projects apparently has no components.
 
to parse
the initial project was already parsed, and not modified
they're unchanged
 
Components to parse: 0
Components unchanged: 2
That is after the second project is added.
 
yes, and this is what the bug is: missing 2 components under "to parse"
 
4:47 PM
There should be 4 components total.
@Mat'sMug Now that it remembers the project.
 
Display only one parser error tab, even with multiple clicks. (#1590)

* Display only one parser error tab, even with multiple clicks.

* Properly close only parser error tabs.
[rubberduck-vba/Rubberduck] build for commit e4a415d0 on next: AppVeyor build succeeded
 
I hate whoever told the VBE to randomly and persistently remove spaces after I type Sub.
 
@Hosch250 or Option
I believe that's our own keyhook interfering
 
Known projects: VBAProject - 2 , VBAProject - 2
Known projects: VBAProject - 2 , VBAProject - 2
Known projects: VBAProject - 2 , VBAProject - 2
Projects to parse: 2
Components: 4
Components to parse: 2
Components unchanged: 2
1 : 1
1 : 1
Wow.
After a reparse, it picks up all components in the projects.
It doesn't create any declarations, though.
 
dafuq
 
5:01 PM
Hmm.
I wonder if that is because I restarted the parse in the middle.
Probably marked the modules as parsed, but didn't create any declarations.
Crashed Excel :/
 
5:29 PM
Now, even after the new modules are supposedly parsed, they are missing parse trees.
Boy, I hate this cache.
 
and yet you'd hate RD altogether without it
at least, our users would
 
5:53 PM
I wish I could design the website in WPF.
HTML is such a pain compared to XAML.
 
IMO the pain is more about CSS and cross-browser concerns than the HTML itself ;-)
 
I have trouble getting the HTML to render nice.
Or course, Bootstrap has to go and cause more problems than it fixes.
The latest thing is it doesn't load changes in the Site.css until after I reload the solution. It used to...
 
That's probably cached by IIS, tried recycling the app pool?
(probably a bad advice, I don't do much web dev)
 
And how do I persuade the items to stack vertically?
 
00:00 - 18:0018:00 - 00:00

« first day (720 days earlier)      last day (2460 days later) »