« first day (2059 days earlier)      last day (73 days later) » 

12:00 AM
RELOAD!
[Minesweeper] Games Played: 75, Bombs Used: 45, Moves Performed: 9759, New Users: 8
 
@mansellan what did they decide RE: the Ireland question?
 
@this Officially: they decided to ensure the whole of the UK leaves on the same terms. Unofficially: they decided to not care too much. There will be checks in the Irish Sea, which is not great and the unionists hate. But BoJo won a big majority in the last election, so it'll happen anyway.
It may well be the spark that leads to Irish unification.
 
remind me - Unionist => those who want to unite with Ireland or those who want to stay united to UK?
 
RELOAD!
 
@Duga when in doubt, reload twice!
 
12:06 AM
Unionists are the ones that want NI to stay in the UK (the U in UK). Nationalists want Irish unification.
I'm not qualified to say which is best.
 
the thing is that "unionist" could work both way
 
indeed yes
 
so, um, I'm going to call them Troys and them Potatoes, ok?
 
Fred and John
 
shouldn't it be George and Patrick?
 
12:08 AM
lol
 
Georgists and Patrickists.
 
IMO, we should never have kept NI in 1912. Just my 2c.
And I don't know enough history for that to be anything other than instinct.
 
how dare you impinge the august glory of Her Great Majesty Empire That Sun Never Sets!
 
ikr
 
Feh, it'll work out
 
12:21 AM
@mansellan He looks like a British version of Trump. First time seeing a photo of him.
 
@MathieuGuindon not having much luck with making theme change work on toolwindows. it works for the dialogs but I apparently can't force the toolwindows to update even thought it should have. Since the language is also broken, I'm tempted to make both a "restart-required" action. Thoughts?
Unless anyone has a suggestion to apply a 2x4 cluestick to WPF
 
@IvenBach Heh, it's been said many times. The difference being, BoJo pretends to be an idiot.
 
'Murica can't pretend their elected president isn't an idiot. They know he is one.
 
but how do you know he is pretending vs. being one?
 
Mind you. Not the good kind of idiot like we call ourselves.
 
12:24 AM
For that matter, how do we know Trump's not pretending?
 
BoJo is Eton/Oxford educated, and led debating societies there. He's not Trump.
 
what was his career before politics or is he a career politician?
 
Journalist
His "bumbling idiot" act is just that, carefully crafted. He messes his hair up just before the cameras start rolling.
@this If so, respect. It's deep cover.
 
Fascinating.
 
@this assuming it does work, sure... is restarting supposed to work now? Because Frenglish inspection results happen regardless
 
12:29 AM
this is kind of messed up:
it is responding to the change, but not for elements that's still displaying at the time of changing.
@MathieuGuindon oh, wasn't aware it was still a problem even after a restart.
the advantage(?) of requiring a restart means I can use StaticResource instead of DynamicResource - they say it's a hit on performance to use DynamicResource and we have a .... lot.
wait. restart didn't make a difference.
I think I messed up something else.
 
@this @Duga's been busy slaying the help vampires. She needs to reload frequently.
 
:-)
@MathieuGuindon just checking - is live visual tree supposed ot work?
aha, had to toggle Show My XAML
they are hidden by adorners - makes sense since we're hosting them
welp. I found the problem:
@this is an idiot.
 
We're all idiots.
Anyone that claims otherwise is an idiot a liar.
 
liar is an even deeper level of idiot
 
12:49 AM
We're misinformed idiots. As we learn our statements quickly approach what's actually occurring.
They get updated with new information.
IMO liars knowingly and intentionally state falsehoods.
 
@MathieuGuindon to clarify - if I have a brush that's a DynamicResource and that is defined in a Style... does the control that use that style also have to have it bound using DynamicResource, too?
 
@IvenBach Yep, worked with a few of those. It was unpleasant.
We now have PRs at work. It's awesome, the number of facepalms that my peers catch, and I catch of theirs, that would otherwise end up in QA or even production is incredible.
 
1:06 AM
PR = Peer Review or Pull Requests? Assuming Peer Review in this context.
 
Pull Request, but effectively it's peer review so either works.
Azure DevOps is really pretty good. I'd recommend it for company use.
IMO, pull requests give 90% of the benefit of pair-programming for 10% of the cost.
 
Public Enum Foo
    [Space Between] = 0
    HasNoSpace = 10
End Enum
 
Reviewing codereview.stackexchange.com/questions/235827/… which has a space in an Enum member.
What do the brakcets [ and ] do that allow the space?
I thought they forced evaluation.
 
iiuc, square brackets enforce that the enclosed characters are an identifer. So you can specify an identifier that the VBA lexer would otherwise choke on.
I think you're thinking of regular parenthesis. Happy to be corrected though.
Also: how awesome is it to see Rubberduck in CR? Not only by name, but by screenshot :-)
I need to PR to Rubberduck, but Core 3(.1.1) is just too damn distracting rn...
 
1:20 AM
Public Sub Foo()
    [A2].Value2 = "Bar"
    Debug.Print [A2].Value2
End Sub
That's where I'd seen previous usage of square braces. Don't know what #PedantPete calls it.
Home time.</iven>
 
two different things.
In enum's case, it's just as @mansellan says, to allow you to put in crap for a name, and also to handle crappy name from external libraries
In the other case, that's actually a implicit default member access + evaluate.
[A2] would actually expand to something like Me.[_Evaluate]("A2")
 
eesh, didn't remember that the [] was just for enums. VBA grammar is confusing AF...
 
note that [A2] won't work everywhere; you need an object that accepts evaluations in scope.
well, they were certainly cowboying it up with VB language.
 
muchly
 
hmm i am missing something, I guess. even setting styles to dynamic doesn't affect the toolbars.
 
2:19 AM
@mansellan Actually, it's pretty close. They actually do run in a sandbox.
 
2:45 AM
Hmm very interesting. I just came up with interesting but possibly abusive code.
In Access, the traditional way to open forms is to do this: DoCmd.OpenForm "foo"
However, it can be newed as a class, like Set foo = New Form_foo
The latter is problematic since that requires you to hold a reference; if it falls out of the scope, it goes away, which is unfun.
However, given this code-behind:
Private Self As Form_Form1

Private Sub Command0_Click()
    Set Self = Nothing
End Sub

Private Sub Form_Load()
    Set Self = Me
End Sub
You can then use the following code:
Public Sub Test()
    Dim f As Form_Form1
    Set f = New Form_Form1
    f.Visible = True
End Sub
No variable to persist; the form now can manage its own lifetime without an external collection managing it.
To make it go away, clicking the button to set the Self to Nothing, and it deallocates.
kind of fragile, though.... if anyone receives a reference to it, it won't deallocate until all references to it fall out the scope.
 
3:01 AM
@this not afaik
 
@MathieuGuindon Ok, thanks. I'm basically just trying random thing - I know the styles does work; if I change the style at design, it will work but the toolbars just isn't reacting dynamically. I'm sure I'm missing something.
 
 
1 hour later…
4:50 AM
 
 
2 hours later…
7:14 AM
`Public Function FooMath(arg1 As Long) As Long
FooMath = arg1 * mArray(2)
End Function`
Given the above (from a test). mArray(2) is parsed as 2 references of the mArray() declaration. Is this the expected result?
 
[rubberduck-vba/Rubberduck] retailcoder pushed 20 commits to next (only showing some of them below)
[rubberduck-vba/Rubberduck] MDoerner pushed commit e060ff4e to next: Merge branch 'next' into LetReferenceInspectionsUseBaseClass
Merge branch 'next' into LetReferenceInspectionsUseBaseClass

# Conflicts:
# Rubberduck.CodeAnalysis/Inspections/Abstract/IdentifierReferenceInspectionBase.cs
Fix further indirect conflicts from merge

- DeclarationInspectionBase
- FunctionReturnValueDiscardedInspection
- ImplicitlyTypedConstInspection
Deal with ToDos needing one of the latest merged PRs

Performance enhancements in some inspections
Stop reporting implicit accesses to worksheets by name in SheetAccessedUsingStringInspection

Unqualified accesses and accesses through Application are accesses on the ActiveWorkbook according to the documentations. That might not be the same workbook as ThisWorkbook.
 
One for the identifier, one for the subscript/index access, I think.
 
[rubberduck-vba/Rubberduck] MDoerner pushed commit 18774ce2 to next: Merge branch 'next' into LetReferenceInspectionsUseBaseClass
[rubberduck-vba/Rubberduck] MDoerner pushed commit c38ddae0 to next: Minor refactoring to address review to PR #5347
[rubberduck-vba/Rubberduck] MDoerner pushed commit eb9c9e08 to next: Merge branch 'next' into LetReferenceInspectionsUseBaseClass
Adjust codecov.yml to avoid bogus failed messages

Previously, it reported failure no change was tracked.
Merge pull request #5347 from MDoerner/LetReferenceInspectionsUseBaseClass

Let reference inspections use base class
 
Yes - that's what I see. So, for rewriting, some work is needed to avoid rewriting both references.
Causes an exception if both are Replaced - as it should
OK - I see how RenameRefactoring appears to handle this by filtering out the .IsArray access reference.
 
 
8 hours later…
3:08 PM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5365?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request head (`AdditionalTopLevelExceptionHandling@94197a9`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-head-commit).
> The diff coverage is `n/a`.
 
3:25 PM
[rubberduck-vba/Rubberduck] build for commit 94197a91 on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5365?src=pr&el=h1) Report
> Merging [#5365](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5365?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/0c4bb18c0fbb147f0bafe3933dc70a557eb72777?src=pr&el=desc) will **decrease** coverage by `0.03%`.
> The diff coverage is `1.75%`.


```diff
@@ Coverage Diff @@
## next #5365 +/- ##
========================
[rubberduck-vba/Rubberduck] build for commit 94197a91 on unknown branch: 61.64% (target 0%)
[rubberduck-vba/Rubberduck] build for commit 94197a91 on unknown branch: 1.75% of diff hit (target 60%)
 
 
3 hours later…
6:11 PM
@this have you seen any example of external libraries including spaces or other characters usually not allowed as part of an emum members name?
 
6:38 PM
not that I can recall. several other languages wouldn't allow spaces anyway.
but underscores would be the most common example
(leading underscores, I mean)
 
> A general question - do you think it's better to handle the COM exceptions from the base class rather than the most derived class, in similar manner to what we did for Command/ ComCommand? This seems to be on a different inheritance hierarchy but since it does COM interaction, it still needs something similar, I think.
 
 
4 hours later…
10:29 PM
@Duga Oh, I actually catch the wrong exception.
I will push a correct version in a minute.
 
10:46 PM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5365?src=pr&el=h1) Report
> Merging [#5365](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5365?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/0c4bb18c0fbb147f0bafe3933dc70a557eb72777?src=pr&el=desc) will **decrease** coverage by `0.03%`.
> The diff coverage is `1.75%`.


```diff
@@ Coverage Diff @@
## next #5365 +/- ##
========================
[rubberduck-vba/Rubberduck] build for commit 94197a91 on unknown branch: 1.75% of diff hit (target 60%)
 
@this @Duga I think the case of Command in entirely different from this case. For Command the user of the functionality initiates the use through the base class. Here however, the use is initiated through the derived class and the base class just provides the facilities to perform the task.
In general, the general overall exception handling should happen as far out as possible. Otherwise, we have to pass around failure values, check them all the time and then propagate them to the next higher level.
That actually happens in this case since the FindChildByTag handles all COMExceptions forcing us to check the result against the failure value null.
We should really only catch exception for which we either know how to recover or where we are at a point where a self contained functionality failed and we can live with it or where further bubbling crashes the host.
 
11:07 PM
[rubberduck-vba/Rubberduck] build for commit a51d3565 on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit a51d3565 on unknown branch: 2.5% of diff hit (target 60%)
[rubberduck-vba/Rubberduck] build for commit a51d3565 on unknown branch: 61.64% (target 0%)
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5365?src=pr&el=h1) Report
> Merging [#5365](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5365?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/0c4bb18c0fbb147f0bafe3933dc70a557eb72777?src=pr&el=desc) will **decrease** coverage by `0.03%`.
> The diff coverage is `2.5%`.


```diff
@@ Coverage Diff @@
## next #5365 +/- ##
=========================
 

« first day (2059 days earlier)      last day (73 days later) »