« first day (298 days earlier)      last day (2238 days later) » 

12:01 AM
[retailcoder/Rubberduck] 1 opened issue.
[rolfl/MicroBench] 9 commits.
[skiwi2/TCGHand] 3 commits.
[Unihedro/JavaBot] 1 opened issue. 1 issue comment.
[Vogel612/JavaBot] 2 commits.
@RubberDuck I had the same reaction. I wonder what our grammar thinks of it
12:17 AM
@Duga and the winners are.... monkey and Simon!
=/ I'll have to fix that tomorrow...
@Mat'sMug for this first go, I'm just going to use a secure string in memory and users will need to provide it the first time each session.
I don't want to try to persist credentials until I'm pretty dang sure I got it right.
@RubberDuck sounds good!
Okay. Cool.
Hmm... What's next? What's next?
I think I need to go ahead and build the "app" and necessary configuration. Once that's done I can merge then move back to implementing the GUI.
No. I need to finish implementing the merge GUI, then break what I've done down into controls.
12:38 AM
I'm going over each and every code inspection tonight, tying them all to the symbol table (well all the ones that should depend on it anyway) - I need that listener flawless!
Meanwhile I'm reverting whatever pending changes I had on Next.
@SimonAndréForsberg well done! ..now try to keep up! ;)
I think I can finish the merge tab tomorrow.
I'm really hoping the first couple weeks of this class are a breeze.
1:04 AM
selectCaseStmt :
	| valueStmt WS IS WS valueStmt 							# vsIs
	| valueStmt WS LIKE WS valueStmt 						# vsLike
	| valueStmt WS? GEQ WS? valueStmt 						# vsGeq
	| valueStmt WS? LEQ WS? valueStmt 						# vsLeq
	| valueStmt WS? GT WS? valueStmt 						# vsGt
	| valueStmt WS? LT WS? valueStmt 						# vsLt
	| valueStmt WS? NEQ WS? valueStmt 						# vsNeq
	| valueStmt WS? EQ WS? valueStmt 						# vsEq
grammar should pick up Case Is = "litereal" fine... but with some recursion
1:26 AM
A: Copy data to another worksheet

Mat's MugI like your indentation. It's nice to see well-indented VBA code, it needs to be pointed out! Application.ScreenUpdating = False That's generally a good idea, but all by itself, it makes a poor UX - and if calculation mode remains xlAutomatic, it might be a missed opportunity to gain some mo...

> There are 7 instructions on that line of code; there's no reason to do this. Ever.
> changed treeview node tags to Declaration objects
> Revert "changed treeview node tags to Declaration objects"

This reverts commit fd6d5cab5535236c8cd87e0b554d0aee6a5b3e61.
2 hours later…
3:36 AM
LINQ query syntax has its pros:
        var declarations = from item in parseResult.Declarations.Items
                           where item.DeclarationType == DeclarationType.Parameter
                           let arg = item.Context.Parent as VBAParser.ArgContext
                           where arg.BYREF() == null && arg.BYVAL() == null
                           select item;
^^ let has no equivalent that I know of with method syntax
1 hour later…
4:50 AM
@Mat'sMug I have yet to decide if your SQL syntax is backwards, upside-down, or both... But either way, seems quite readable :)
well the good news is, performance improvement is dramatic
but false positives all over.
I feel bad data <= bad performance but I may be alone in that
(as in, bad data is worse)
there's truth in that. point is, I'll fix the data source, one way or another. and then I'll have performance and correct results ;)
Well, that's exciting then!
5:13 AM
ugh. the shit works with simple sample code...
hi @uniks!
5:30 AM
woah, seriously.... everything works. there's gotta be something in that code that's breaking the parser... but what?
ok no, 864 issues and a NullReferenceException on code that 1.21 finds 127 issues in. My head's spinning.
5:50 AM
the good news is that it finds 864 issues in roughly 2 seconds
every single function and property getter gets a NonReturningFunctionInspectionResult
ok I really need some sleep.
2 hours later…
7:46 AM
hi mat's nice to meet you
2 hours later…
9:18 AM
Hi there @uniks!
3 hours later…
12:33 PM
@Mat'sMug I added a status text field to the merge view and have most of the tests written.
12:44 PM
> Hello ! First, let me say that I am impressed by the work you're doing ! I do not particularly like coding in VBA, but I think your addin will help me a lot ! I am testing your addin to see if I can use it in my everyday work. We use some proprietary addins which VBA project is protected by a password. When these addins are loaded, the Rubberduck addin does not work anymore. In particular the UnitTests part. I think you try to parse the protected modules, which throws a COM exception that...
is not handled. If you have any question, or cannot reproduce the bug, let me know ! Keep up the good work ! Florian
@Duga didn't that get fixed?
> Hi @FlorianChevassu! Thank you for the kind words.

What version of Rubberduck are you using? Per #289, this issue was resolved in version 1.21.
Also, which Host Application are you using (Word, Excel, etc.). Unit testing is not yet supported in all of the Office Applications.

cc: @retailcoder
> #311 is also related.
1:09 PM
> I too have this problem with the Test Explorer not opening, I just couldn't work out what the issue was until I saw this. Reading that the issue may be caused by protected modules, and realising that I had the Solver Add-In activated (with its associated protected project listed in the Project Explorer), I unloaded the Solver Add-In and now the Test Explorer opens for me.

I am running Excel 2010 (x32) on Windows 7 (x64) with build 1.21.5553.34023 of Rubberduck.
Looks like it's not completely fixed... I'll try to repro with this solver add-in
I don't get it though. The exception is handled at the parser level...
> I don't think this is an actual parser issue and is not a duplicate of the other issues I mentioned. I suspect there is a similar snippet as this somewhere that isn't catching the exception. (Or possibly even a different exception being thrown here.) public void SynchronizeEngineWithIDE() { try {...
_testEngine.AllTests = this.VBE.VBProjects
.SelectMany(project => project.TestMethods())
.ToDictionary(test => test, test => _testEngine.AllTests.ContainsKey(test) ? _testEngine.AllTests[test] : null); } catch (ArgumentException) { System.Windows.Forms.MessageBox.Show( "Two or more projects containing test methods have the same name and identically named tests. Please rename...
one to continue.", "Warning", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); } } Going around the parser speeds things up, but it means going around the "protected project" fix.
@Mat'sMug ^
2:03 PM
Absolutely. Unit test discovery needs to go through the parser.
Or we check for protection with the VBE API.... but I'd rather have everything through the parser
> Hi @ckuhn203 !

I'm running Rubberduck 1.21 on Excel 2010 32bits on win7 64bits, same as @rossorp !
@Mat'sMug Either or is fine with me.
I mean, just don't slow down my unit tests. =;)-
Might actually speed 'em up - we're caching parse results remember ;)
> There are two hard things in computer science...
What do you think? 1.22 bug fix?
Sure.. except next has some urgent issues..
2:18 PM
And I'm mid source control....
The GrammarIsFun merge brought some regression crap. Inspections are out of control
We can't hotfix this one now
Why not?
Branch off master and patch it.
Oh right, there's the master branch!!
Yeah we can patch master
2:19 PM
I think we can. Just going to have to make sure to test it well after pulling the change into next.
If we just fix the unit testing discovery we'll be good
Quickfix with the VBE API, merging back will be harmless
> Thanks all. We're mid stream on a few things right now, but we think we can hotfix this relatively soon. Keep an eye on this issue for updates.
Sounds like a plan.
If the installers aren't broken we can release a fix tonight with a little luck
Maybe. I think I might be able to swing it.
2:41 PM
        _testEngine.AllTests = this.VBE.VBProjects
                        .Where(project => project.Protection != vbext_ProjectProtection.vbext_pp_locked)
                        .SelectMany(project => project.TestMethods())
                        .ToDictionary(test => test, test => _testEngine.AllTests.ContainsKey(test) ? _testEngine.AllTests[test] : null);
^^ that's the fix
...at least for the snippet you posted on #354 - I wonder if there's other places...
Let's search Cast<VBProject>...
There's a few ^
everywhere we iterate projects, we need to filter for unprotected ones
meeting, gotta run
1 hour later…
4:15 PM
> gracefully handle protected projects; fixes #354
> Adjusted Version Numbers and Upgrade Path
> I expect to create and test the 32bit installer this evening.
5:16 PM
@Duga Woah nice!
Well done @RubberDuck!
@Mat'sMug Thanks. and all done over my bagel. =;)-
5:36 PM
> That should work until we make unit test discovery use the parse results; the parse results don't include protected projects so that will remove all the redundancies there. Well done @ckuhn203!
5:54 PM
> Yeah. It's definitely a quick dirty fix @retailcoder, but it's fixed.
2 hours later…
8:04 PM
> 58+22 downloads BTW
8:36 PM
@Mat'sMug @RubberDuck
@RubberDuck I can't tell if I am on to something or going a little to crazy with interfaces here.
Public Function Create(ByVal seed As Variant, ParamArray elements() As Variant) As Variant

Dim result As Variant
If TypeOf seed Is ICreatable Then

Dim creatable As ICreatable
Set creatable = seed
Set result = seed.Copy(CVar(elements))

ElseIf TypeName(seed) = "String" Then

result = Join(elements, vbNullString)

ElseIf cast.IsArray(seed) Then

result = cast.CArray(elements)

ElseIf TypeOf seed Is Collection Then

Set result = New Collection

Dim element As Variant
For Each element In elements
Then you could do set x = Create(List, 1,2,3,4)
Function Map(ByVal seed As Variant, ByVal sequence As Variant, ByVal op As Variant) As Variant
    Dim result As Variant
    Set result = Create(seed)
    Dim element As Variant
    For Each element In Sequence
        Add result, op.Exec(element)
    Assign Map, result
End Function
8:54 PM
Hey @Chrismas007 @cheezsteak
@RubberDuck am I on to something or losing my mind?
@cheezsteak use TypeOf...Is instead of TypeName.
I like it. Not sure what exactly you're up to, but I like it.
I can't use typeof x is string
Ohh shit! Look at that!
Ahhh. Yeah. You're right.
Is there a better way to typecheck primatives?
It's almost like im implementing generics...
8:57 PM
No, but it should be okay. I don't think you can actually create a *.cls that conflicts with the primitives.
Gotta go, but rock on buddy!
I'm working on a massive overhaul of VBEX and everything is interfaced with default functions like I did with ToString.
I mean everything...
9:27 PM
Really? So I need to get that damn Trie finished Huh?
10:02 PM
can I post this here?
A: Data Access Layer code for MSSQL Databases

MalachiThis whole Function needs a little bit of work. Dim cmd As SqlCommand = Nothing Dim conn As SqlConnection = Nothing Try Using dt As New DataTable() conn = New SqlConnection(GetConnectionString()) cmd = New SqlCommand(_command, conn) cmd.Co...

my first VB answer in a while, and it is super simple....
10:34 PM
> Merge branch 'master'
[retailcoder/Rubberduck] ckuhn203 pushed 3 commits to master
> Merge pull request #355 from retailcoder/1.22_hotfix

1.22 hotfix
> I hate installshield with a firey passion; re-added primary output to x86 setup
10:53 PM
@Malachi Sure!
Maybe we should consider expanding the room's scope to all VB instead of just VB6.
> you should add some using statements here. like a lot of them.
@Duga I'm still at work though
@Mat'sMug No worries. You get to it when you get to it. I'm drafting the news release now.
11:17 PM
posted on March 31, 2015 by Christopher J. McClellan

There was an issue with some of the features when a password protected VBA Project was loaded. This caused several of the tool window, most notably the Test Explorer, to fail to open. As many of the more popular add-ins are password protected, this was a pretty big problem. This has been corrected and the […]


« first day (298 days earlier)      last day (2238 days later) »