« first day (719 days earlier)      last day (2461 days later) » 

12:01 AM
> Rubberduck.Setup.2.0.1a-pre.exe (5.25MB) - Downloaded 166 times.
Last updated on 2016-04-25
 
RELOAD!
 
> Rubberduck.Setup.1.4.3.0.exe (4.32MB) - Downloaded 3106 times.
Last updated on 2015-07-08
 
@Mat'sMug We gotta release before it hits 200!
 
[Hosch250/Rubberduck] 53 commits. 86489 additions. 94157 deletions.
[retailcoder/Rubberduck] 14 commits. 39046 additions. 49515 deletions.
[rubberduck-vba/Rubberduck] 29 commits. 6 opened issues. 3 closed issues. 19 issue comments. 46128 additions. 43596 deletions.
 
12:02 AM
What about Rem as a multi-line (I've actually seen these in the wild)?
 
Public Sub Foo(): Rem Can I haz a vbCrLf?
 
Fix Move Closer To Usage (#1576)

* Make groupings work correctly after items are reloaded.

* Fix Move Closer To Usage refactoring

* Comment Move Closer quick-fix test.
[retailcoder/Rubberduck] retailcoder pushed commit 9094707d to next: Close #1574 (#1577)
[retailcoder/Rubberduck] retailcoder pushed commit 6e7237e6 to next: added AsTypeName to the context-sensitive commandbar (#1578)
Clear built-in declarations' references (#1579)

* Close #1574

* Clear built-in declarations' references.
 
Should those automatically get converted to Public Sub Foo() 'Can I haz a vbCrLf?
 
Code Explorer Tweaks (#1581)

* Close #1574

* Clear built-in declarations' references.

* Correctly display error nodes.

* Allow importing from a folder node

* Get rid of CodeExplorerErrorNodeViewModel

* Set child member icon to exclamation when parent component has error
Merge pull request #105 from rubberduck-vba/next

sync with main repo
[rubberduck-vba/Rubberduck] build for commit b7acc640 on next: AppVeyor build succeeded
 
12:04 AM
@Comintern nah, there's already an inspection for that. or you could, if the inspection isn't set to "DoNotShow" / disabled
now the interesting twist: accessing inspection settings from the indenter assembly?
#screwit
 
[rubberduck-vba/Rubberduck] retailcoder deleted branch FixBrokenExtractInterfaceCommand
 
12:33 AM
Code Explorer Tweaks (#1581)

* Close #1574

* Clear built-in declarations' references.

* Correctly display error nodes.

* Allow importing from a folder node

* Get rid of CodeExplorerErrorNodeViewModel

* Set child member icon to exclamation when parent component has error
[Hosch250/Rubberduck] Hosch250 deleted branch Branch1
[Hosch250/Rubberduck] Hosch250 deleted branch Next
[Hosch250/Rubberduck] Hosch250 deleted branch Issue740
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1546
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1537
[Hosch250/Rubberduck] Hosch250 deleted branch next
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1513
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1532
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1531
[Hosch250/Rubberduck] Hosch250 deleted branch UnitTestTweaks
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1519
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1474
[Hosch250/Rubberduck] Hosch250 deleted branch Issue831
 
@Mat'sMug I'm ready to create a release when you are.
Is there any special software I need? I might as well install it before we do it and have it prepared.
 
12:47 AM
Gotta do something until 8:30.
 
1:09 AM
That out of memory issue I had... works flawlessly under 2010 :-/
 
I had a hell of a memory leak in my experimental add-in. It burned through about 2gb of RAM in about 10 seconds.
 
ouch
@Hosch250 shouldn't be too long, mod hat on ATM
 
NP.
Working on the inspections and website thing.
It isn't looking to be too hard.
From what I see, I just have to add a text box or so and call a method on it.
The trickiest part will be pushing the results back to the UI.
BBIAS>
 
 
1 hour later…
2:39 AM
@Hosch250 'Find all references' is enabled in the CE context menu when no node is selected; clicking it just threw a NRE that killed a duck.
'Find all implementations' is correctly disabled
#ThisIsWhy #UnitTesting isn't everything
mind you... I'm pretty sure I could try to repro in a test
hey @PeterMTaylor!
 
Yo! @Mat'sMug good to hear a hello. :) just having my lunch at work
 
how's lunch?
huh... @Hosch250 did you look at the debug output while parsing?
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;(handling OnStateChanged) Starting resolver task;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'IDialog' was modified;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'ICTPFactory' was modified;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'IMenuItem' was modified;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'ILabel' was modified;
 
Reasonably good. Chicken and rice a left overs from my mother in law who originally gave it to my daughter which is sitting frozen for over a month so I thought what the heck and grabbed for today's menu. :)
 
and it goes on and on and on
@PeterMTaylor over a month!?
 
Frozen in the freezer. It's ok for a small period of time
 
2:47 AM
you know, sometimes when that happens I come back home pretending to have eaten my lunch, but threw it away and had McDonald's instead :D nah, I don't do that cough
 
That would have been my way of eating but money is the issue of doing that.
Then I don't know what your talking about. 😏
 
eh, if there's no ice crystals it should be fine
 
So how's the family on your side of the globe as we are almost getting colder
 
we're finally getting our first warm week of the year
like, ~30 Celcius all week
I still have my freakin' winter tires on
 
3:15 AM
Really, too comfortable for the car? :)
On the subject of weather, around Melbourne here down under we are just average under 20 Celsius with fair amount of rain in between.
Expecting to fall our knees off in a few weeks. Not good when our heater system isn't working for fear of labour costs to get fixed so we purchased a small conventional electric heater that warms a good room under half and hour.
 
that should do it :)
 
Next year my little Bub would start kinder and our eldest is year 10 blowing her clarinet in her school band.
She is in year 9 now.
Will catch up later my instincts of getting work done is takin over so will read more enroute home over our public transport system. Ta
 
later!
 
Anybody tried using RD in Access, when Access doesn't have the DB open in exclusive mode?
 
okay, I see what happened. Introducing ModuleState made built-in declarations have an IParseTree - a null one, but an IParseTree nonetheless. that's enough to be iterated by ResolveInternal(CancellationToken) and in GetParseTreeResults(RubberduckParserState) - although that one filters null trees out of the loop
@ThunderFrame I'd need Access
 
3:29 AM
I'm guessing Boom
 
I'm hoping no-boom :)
 
@PeterMTaylor I play (well, played) clarinet too.
@Mat'sMug No, there is too much of it to pick anything out.
@Mat'sMug :/
What's wrong with the debug output?
 
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;(handling OnStateChanged) Starting resolver task;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'IDialog' was modified;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'ICTPFactory' was modified;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'IMenuItem' was modified;
2016-05-24 22:44:12.6083;DEBUG;Rubberduck.Parsing.VBA.RubberduckParser;Module 'ILabel' was modified;
 
And... we need to get the Find Alls under test.
 
built-in modules, modified? every parse?
 
Huh. Don't know why.
 
3:54 AM
merely logging all these brings the parser to a crawl
 
[rubberduck-vba/Rubberduck] build for commit 2f233207 on unknown branch: AppVeyor build succeeded
fixed excessive effort from parser to deal with null built-in parse trees (#1582)

* added AsTypeName to the context-sensitive commandbar

* clear built-in references at every resolution; fixed issue with null parse trees, given built-in modules get a module state instance.
 
Yeah, I/O is expensive.
 
logging needs to be async
at least if we want to log performance-critical things
good thing it can be disabled
but anyway the problem was that ModuleState objects were created for built-in modules, with a null parse tree - so then ParseTrees was returning a bunch of null trees that the parser was iterating over
like, a shitload of null trees
 
Oh wow.
 
[rubberduck-vba/Rubberduck] build for commit be38cf28 on next: AppVeyor build succeeded
 
3:59 AM
Those should have ParserState.None.
Are you handling this, or should I look into it tomorrow?
The built in things being modified, that is.
 
see #1582
 
You fixed it?
 
think so
 
Good.
 
wtf, now I can't load without getting an access violation exception
last state "LoadingReferences"
gah, idiot
 
5:00 AM
@Hosch250 pull frequently!
@Hosch250 pull frequently!
 
5:16 AM
Duplicate : DeclarationExtension.ProcedureTypes, ExtractInterfaceModel.MemberTypes
 
 
1 hour later…
6:36 AM
ah! getting somewhere:
aaand it's 2:36AM and I should be sleeping
 
it's 8:36 AM and I'm sleepy :D
 
[retailcoder/Rubberduck] retailcoder pushed commit ffcf30c3 to next: fixed OverflowException in GetTypeName; built-in parameters now have return type info :)
 
bingo
 
[retailcoder/Rubberduck] retailcoder pushed commit f7534aee to next: returning built-in members now have return type info as well
 
and now the resolver knows that MsgBox function returns a vbMsgBoxResult
which means it also knows that Range function returns a Range object
which means @awgaya you're up!
 
6:48 AM
> Got type info for built-in parameters, members' return type, and fields now.
> ref. #1494

![image](https://cloud.githubusercontent.com/assets/5751684/15530561/3541c92e-2223-11e6-89bb-a7aac765d8d3.png)
fixed excessive effort from parser to deal with null built-in parse trees (#1582)

* added AsTypeName to the context-sensitive commandbar

* clear built-in references at every resolution; fixed issue with null parse trees, given built-in modules get a module state instance.
[retailcoder/Rubberduck] retailcoder pushed commit 24e4e1c3 to next: Merge branch 'next' into next
 
TTGTB
 
COM type info fixes (#1583)

* added AsTypeName to the context-sensitive commandbar

* clear built-in references at every resolution; fixed issue with null parse trees, given built-in modules get a module state instance.

* fixed OverflowException in GetTypeName; built-in parameters now have return type info :)

* returning built-in members now have return type info as well
[rubberduck-vba/Rubberduck] build for commit 24e4e1c3 on unknown branch: AppVeyor build cancelled
BUILD FAILURE!
[rubberduck-vba/Rubberduck] build for commit f7534aee on unknown branch: AppVeyor build cancelled
BUILD FAILURE!
[rubberduck-vba/Rubberduck] build for commit 3e4e5610 on next: AppVeyor build succeeded
 
7:07 AM
It is me or is it that Matt mug a little uptight about making sure everything is alright before the release?
 
> I still get an empty CE using be38cf2
 
7:31 AM
.
 
8:17 AM
> > If testexpression matches any Case expressionlist clause, the statements following that Case statement run up to the next Case, Case Else, or End Select statement. Control then passes to the statement following End Select. If testexpression matches an expressionlist clause in more than one Case clause, only the statements following the first match run.

In large Select Case blocks, it's all too easy to inadvertently add Case statements that have intersections with prior Case blocks. (I fou
 
 
2 hours later…
9:52 AM
0
Q: CLS_Compound_Predicate

ZakI have a CLS_Comparison_Predicate which will take an input value, perform a logical comparison and return a Boolean. CLS_Compound_Predicate instead takes lists of predicates and an inputValue, and performs MatchAny() or MatchAll() operations on the predicate list. E.G. predicate_1 has >= 3 ...

 
10:02 AM
@Comintern - one for you...
3
Q: How do I pass an array of arguments ByRef with CallByName?

maracujaI am currently using CallByName to dynamically call methods. There are several methods which I pick up daily from a table in server along with the arguments. For this reason, I send an array of the arguments to CallByName rather than a param array as I don't know the number of arguments until run...

 
 
1 hour later…
Zak
11:20 AM
Renaming a Module leads to a Commit which thinks you added an entirely new Module/code. Is there any way to change that?
 
12:13 PM
@Zak good one. Not sure there's a work-around that one, given files are exported from the VBA project. I suggest you make an issue for it, if it's not already documented
 
@Zak I'd assume that's a limitation of git. it should detect it as a rename though
still means you get a completely new object
 
 
1 hour later…
1:32 PM
could someone help me understand what the expression "avoid disemvoweling" meant in the Code Inspection. I don't come across a conversation with anyone mention "disemvowling"?!?!?!?!?!?!
 
@PeterMTaylor vwls sll mk thngs sr t rd
(vowels usually make things easier to read)
Disemvoweling, disemvowelling (see doubled L), or disemvowelment of a piece of alphabetic text is rewriting it with all the vowel letters removed. This original sentence: The quick brown fox jumps over the lazy dog would, after being disemvowelled, look like this: Th qck brwn fx jmps vr th lzy dg Disemvoweling is a common feature of SMS language. Because disemvoweling makes text legible only through significant cognitive effort, it is used by moderators on internet forums, newsgroups and blogs as a way to limit the effectiveness of unwanted postings or comments, such as rudeness or criticis...
 
ah right, thanks @Mat's Mug. I see. Puts a whole new meaning of what texting is.
I would normally be asleep by now for some reason my bed felt hard and my brain could not get settled. So I am browing and trying out a fetch from the latest build
I have noticed the parser doesn't take long with my VBA code. It is good correcting my project within Excel adding option explicits.
 
2:10 PM
ok. 12:09 AM here, I meant to be zzZZ! Catch ya all later.
 
> VBA does a lot of implicit type conversions behind the scenes. Now that we know the return types of built-in functions and properties, and the types of built-in members' parameters, we should be able to tell when the user's code is passing an Integer into a Long, or a numeric type into a String (or even of an Integer into an enum value?); Rubberduck should encourage explicit type conversions.

Dim foo As Integer
foo = 42
MsgBox foo 'implicit conversion from Integer to String
> Absolutely! I've been wanting to refactor this class for a while.. none of it is under test, and I'm open to suggestions on how to go about testing a function that involves COM types and pointers taken from a type library loaded from disk =)
 
2:27 PM
^ ProjectTitle and ComponentTitle properties.
 
@ThunderFrame I want this in the 2.0b release! :-)
2
Someone just asked permission to use my VBA logging code! :D
 
I just need to check it works in a few more hosts
 
Cool. Worst case, ...it's a beta ;-)
 
but as per the SDK, DisplayName is the text in parentheses, so I've added ProjectDisplayName and ComponentDisplayName to QualifiedModuleName... And then I've added ProjectTitle = ProjectName + "(" + ProjectDisplayName + ")" and ComponentTitle = ComponentName + "(" + ComponentDisplayName + ")"....
plus a little bit of jiggery pokery to get the Project to show the Workbook name.
 
2:44 PM
Hi.
What's up for today?
 
Hi!
Some more pre-release F5-debug testing. Do all inspections work as they should, quick fixes too - esp. those involving COM reflection / built-in declarations (that was tweaked last night)
Do all refactorings work as they should?
Refreshing works? Removing modules, adding one back, exporting it and importing it back in?
Does the debug output look right?
Can any exception in the output be avoided?
 
@Mat'sMug AFAIK.
@Mat'sMug Yep.
@Mat'sMug No idea. I didn't put it in, I don't know how it should look. BTW, you have too much to make heads or tails of anything.
@Mat'sMug AFAIK. Not sure which ones aren't tested that can be.
 
Are all context menus disabled when they should? Enabled when they should?
 
Umm, not if I remember correctly.
You said Find All was enabled without a selection.
 
And that caused a NRE
 
2:50 PM
BTW, was that the Code Explorer Find All?
 
Yeah
@Hosch250 parser errors tab should refresh instead of creating a new tab every time the "Error" button is clicked - that one's important to fix
and then, take some random code on SO and CR, and see if it parses, indents, inspects and refactors well - and fix every little glitch you come across (there should be a few)
then I'll steal @ThunderFrame's work by pulling from his fork without his consent
3
 
Yeah, and the indenter preview.
 
lol - I'm pulling from next now
 
Multiple Folder Annotations doesn't have tests.
 
@Hosch250 oooh yeah, that too. feel free to recreate the original Office-Automation Smart Indenter sample code, would be a nice touch I think
 
2:59 PM
Where's that again?
 
lol, google up "smart indenter", it should be below all the Rubberduck links ;-)
 
First hit for Bing.
 
(I was kidding - of course it's first hit haha)
 
yeah, no conflicts
 
@Hosch250 looking at it now... you know what, keep the same layout and comment & line-continuation positioning, but RD-ify it (e.g. use the contact@rubberduckvba.com email and website url instead, and don't mention Office Automation... we were authorized to use the code, not the legal entity)
 
3:04 PM
Yeah.
 
sucks that the preview box will need to scroll though
@Hosch250 also, make sure the headings are aligned correctly on all settings pages - I noticed inconsistent left margins
 
Yup.
 
we're at the polishing stage :)
isn't this exciting?
@ThunderFrame awesome! that's a wonderful contribution! can't wait to bring it in!
works for test results as well?
 
hey @mered61! thanks!
 
3:09 PM
haven't ported it to Test Results yet - wanted to get one reliable copy...
 
aw
it's just a few minor tweaks, isn't it?
 
damn, no merge conflicts, but can't build... There are new constructors in Qualified ModuleName...
 
my pleasure @Mat'sMug!
 
woot! only 2 lines to fix (considering I was about 300 commits behind next)
 
fixed excessive effort from parser to deal with null built-in parse trees (#1582)

* added AsTypeName to the context-sensitive commandbar

* clear built-in references at every resolution; fixed issue with null parse trees, given built-in modules get a module state instance.
COM type info fixes (#1583)

* added AsTypeName to the context-sensitive commandbar

* clear built-in references at every resolution; fixed issue with null parse trees, given built-in modules get a module state instance.

* fixed OverflowException in GetTypeName; built-in parameters now have return type info :)

* returning built-in members now have return type info as well
 
3:17 PM
@ThunderFrame sync early, sync often ;-)
 
The indenter doesn't yet have an option to input a string and get a string back.
 
uh
wait a sec
public interface IIndenter
{
    event EventHandler<IndenterProgressEventArgs> ReportProgress;
    void IndentCurrentProcedure();
    void IndentCurrentModule();
    void Indent(VBComponent component, bool reportProgress = true, int linesAlreadyRebuilt = 0);
    void Indent(VBComponent component, string procedureName, Selection selection, bool reportProgress = true, int linesAlreadyRebuilt = 0);
    void Indent(string[] lines, string moduleName, bool reportProgress = true, int linesAlreadyRebuilt = 0);
use the overload that takes a string[]
 
So, that just changes the lines in the array and I can just get them back?
 
yes
that interface might need xml-doc :)
oh, and #1523 should be addressed for the beta, too
 
> @autoboosh now that the COM collector resolves field, member, and parameter types.. is this automagically "fixed"?
 
3:31 PM
@Hosch250 feel free to take a stab at #1572 too - I'll work on it tonight if you dont' get to it first :)
anyone has a repro on #1558?
 
> @Hosch250 can this issue be closed now?
 
Not sure.
It crashes for some settings.
 
> Now that built-in parameters have their types resolved, we should be able to validate arg-list compatibility now :smiley:
 
#1491 should be an easy/quick fix too; I'll fix it along with #1572 tonight
oh crap
no
not tonight... I'll be home late, got an appointment
 
@Mat'sMug - Speaking of indenting and polishing, should we attempt to load the legacy Smart Indenter settings from the registry on first load (i.e. if no rubberduck.config is found) and ask the user if they want to import them into RD?
 
3:42 PM
@Comintern that would be awesome!
 
OK, I'll put it on my indenter refactor list.
 
> Open a blank PowerPoint presentation without any modules.
Open the VBE
Wait for Ready...
Press Ctrl+Shift+I to bring up CodeInspections

There should be at least one inspection (the project has default name of VBAProject), but the VBE hangs when the Inspections Window is shown.

![PPT](http://i.imgur.com/lo9oEsb.png)

Under 2016 32-bit, I was able to try to kill PowerPoint, and the VBE window closed, so that PowerPoint recovered. I was then able to go back into the VBE, and the Inspec
 
@Comintern While you are at it, can you take a look at the 1001 bugs I just exposed in the indenter with this preview thing?
I'll commit and PR it right now.
 
Only 1001?
 
Well, maybe 2001.
 
3:46 PM
lol!
 
[Hosch250/Rubberduck] Hosch250 pushed commit ca0da181 to SettingsPreview‌​: Indenter preview
 
More seriously:
1) The line ending setting crashes for two settings.
And doesn't work for either of those, AFAICT.
2) It doesn't like compiler directives up correctly.
A couple of the others didn't seem to work right either, but I can't tell.
 
@Duga already? cool!
 
Yeah, I've been running across a bunch of stuff myself. Every single call to .Substring() is a crash opportunity.
 
3:48 PM
Hang on a sec and I'll commit the heading line-up fix too.
 
...and roughly 90% of the calculations for offsets should have been wrapped in Math.Max(). The VB6 Mid function behaves much differently than .Substring when it attempts to index beyond the end of a string.
 
5>C:\Dev\Rubberduck\Rubberduck\Rubberduck.SmartIndenter\Indenter.cs(35,21,35,37): warning CS0169: The field 'Rubberduck.SmartIndenter.Indenter._originalTopLine' is never used
5>C:\Dev\Rubberduck\Rubberduck\Rubberduck.SmartIndenter\Indenter.cs(36,27,36,45): warning CS0169: The field 'Rubberduck.SmartIndenter.Indenter._originalSelection' is never used
 

« first day (719 days earlier)      last day (2461 days later) »