« first day (1461 days earlier)      last day (1719 days later) » 

12:00 AM
oh, that trendy thing all the young'uns use
 
i think it's something you get when you graduate from high school?
you know, the mug shots of all people in your class?
 
ah yes!
 
RELOAD!
 
damn. the unit tests knows nothing about auto-magic factories.
 
[banane-io/PDB] 1 commit. 634 additions.
 
12:01 AM
waits for someone to invent antisocial media
 
[rubberduck-vba/Rubberduck] 38 commits. 1 opened issue. 2 closed issues. 12 issue comments. 12262 additions. 3671 deletions.
 
the testing tech debt is rather massive
 
no kidding.
but it'll need to be paid if we need to show that we're stable. :\
making unit tests should be fun'n'easy, kids!
 
Ok that'll be my next branch
 
@this yeah, lemme know when that happens...
 
12:02 AM
now I need to figure out how to handle the factory...
 
make a test stub for the factory interface?
one that returns a Mock<IWhatever>.Object as IWhatever
 
hmm. I already have the concrete presenters and dialogs
so I need to stub up the presenter/dialog base
 
..yeah
 
then have a method to provide the concrete implementations via the fake factory.
Ok, so that's doable but going to step back before my remaining reservoir of brain cells dies.
 
12:29 AM
uh, RD doesn't show up in VB6 addins manager when attaching any more...
 
hmm VB6 might need to be running as admin?
 
yeah... same problem as with 2017...
 
plus also, even if I could get it running as non-admin, a lot of users will want/need to run it as admin
so, um...
 
12:37 AM
not sure I understand the problem entirely - we don't use HKLM at all any more?
 
depends what the user does and what privs they have on install
 
hmm ok
but I'm guessing running from source doesn't register HKLM any more...
iiuc that's why we used to have to run VS as admin
 
correct
where the VB6 keys get registered, the hive should be hard-coded then
 
hard coded where?
 
IDK, the VB6 keys must be written somewhere. no?
 
12:42 AM
guess that's a question for @this - he did the original installer work for it
 
^
hey @ThunderFrame
 
ttgtb
 
'night!
 
I don't have VB6 installed ATM, but IIRC, it was under HKCU
 
and if an elevated registration writes to HKLM...
 
 
3 hours later…
3:19 AM
@mansellan @MathieuGuindon first, to be clear - for a debug build, the COM registration is always HKCU. The VBE registration are done with this script. I see that I forgot to update that.
OTOH, the installer (and the registration repair via start menu) uses this script.
 
 
5 hours later…
8:24 AM
> Hi Mathieu



Sorry for being daft …



I loaded “v2.2.0.3347-pre” which uninstalled my older version, which is fine



I don’t see where on the new version the ‘bracket matching ’ is ?





Regards,



Luke



From: Mathieu Guindon <notifications@github.com>
Sent: Tuesday, 5 June 2018 2:46 PM
To: rubberduck-vba/Rubberduck <Rubberduck@noreply.github.com>
Cc: LukeHSC <luke@hsconsultants.net.au>; Mention <mention@noreply.github.com>
Subject: Re: [rubberduck-vba/Rubberduck] Bracket matc
 
9:23 AM
So... Interesting. I can't turn AC off. And there are so many bugs I can't code normally :-D Here's the log when I open settings, uncheck everything, press OK, open settings (AC are all enabled)
2018-06-06 11:20:41.9390;TRACE-2.2.6730.26134;Rubberduck.Common.Hotkeys.Hotkey;Hotkey for the associated command Rubberduck.UI.Command.Refactorings.CodePaneRefactorRenameCommand was registered with id 49266;
2018-06-06 11:20:41.9390;TRACE-2.2.6730.26134;Rubberduck.Common.Hotkeys.Hotkey;Hotkey for the associated command Rubberduck.UI.Command.Refactorings.RefactorEncapsulateFieldCommand was registered with id 49579;
2018-06-06 11:20:41.9390;TRACE-2.2.6730.26134;Rubberduck.Common.Hotkeys.Hotkey;Hotkey for the associated command Rubberduck.UI.Command.Refactorings.RefactorExtractMethodCommand wa
Additional info: The config file is set like this:
 <AutoCompleteSettings>
    <AutoCompletes>
      <AutoComplete Key="AutoCompleteClosingBrace" IsEnabled="false" />
      <AutoComplete Key="AutoCompleteClosingBracket" IsEnabled="false" />
      <AutoComplete Key="AutoCompleteClosingParenthese" IsEnabled="false" />
      <AutoComplete Key="AutoCompleteClosingString" IsEnabled="false" />
      <AutoComplete Key="AutoCompleteDoBlock" IsEnabled="false" />
      <AutoComplete Key="AutoCompleteEnumBlock" IsEnabled="false" />
      <AutoComplete Key="AutoCompleteForBlock" IsEnabled="false" />
When I open Excel - RD - Settings, they are all activated
 
 
1 hour later…
10:53 AM
cool. I sync with next and reupdated my packages and build in admin. Switched over to non-admin and ran Excel and could see the indent parts works nicely. Good stuff.
 
11:28 AM
@SonGokussj4 yeah I noticed the service was loading the defaults at startup.. and never updating them. That's also why FreeMan's 2-space indent setting is ignored.
Presumably the settingschanged event simply isn't firing
Also to be fair only the inline completion have a real problem.. went to bed without finding a solution last night
 
11:45 AM
I'll wire it up to a keyhook tonight, should be more reliable. Too bad we need an additional hook.
 
curious - would that be useful for shortcuts, too?
 
11:56 AM
Yeah
The 2-step kind too
 
cool. Hope it works out better for AC
I think with that you'll fix 3 issues
(3rd being the removing the need to constantly hook/unhook)
 
 
2 hours later…
1:46 PM
> This issue is probably related to #4056, #3468 and #3469.

**Rubberduck version 2.2.6731.26856**

**Expected behaviour:** Rubberduck renames a field in a class AND updates Code Explorer tree AND updates
references ie. on right-click "Open" Rubberduck takes you to the definition of said field.

**Actual behaviour:** Rubberdack renames a field in a class but does not update Code Explorer tree and does not update references.

**Steps to reproduce error:**

1. Create a new Excel-file.
 
 
1 hour later…
2:53 PM
> Thanks for the detailed report!

`[TestNamedRange].ClearContents` square bracket notation in a class module is probably a bad idea though: an explicitly qualified `Range` member call would be less bug-prone.

![image](https://user-images.githubusercontent.com/5751684/41045833-345e2492-6977-11e8-9205-4cc5fd9c9c63.png)

Square-bracketed expressions are evaluated not by VBA, but by the host application (EXCEL.EXE) at run-time, so you don't get intellisense for further member calls, and VBA
> Thanks for the detailed report!

`[TestNamedRange].ClearContents` square bracket notation in a class module is probably a bad idea though: an explicitly qualified `Range` member call would be less bug-prone, since there's no way to tell what worksheet the expression will be evaluated against.

![image](https://user-images.githubusercontent.com/5751684/41045833-345e2492-6977-11e8-9205-4cc5fd9c9c63.png)

Square-bracketed expressions are evaluated not by VBA, but by the host application (EX
 
4:08 PM
@mansellan FYI .3310 does load type libraries correctly on my laptop.. not sure wth is going on :/
 
hmm... oddness.
 
what type library didn't load originally?
 
4:23 PM
none of them
not even VBA std lib
I originally thought it was just EXCEL, but looking at logs, it's all of 'em
 
hm. ok, what context are we talking about?
launching RD simply?
 
and VBIDE can?
 
it can load an reference the libaries
 
4:25 PM
well, yeah
the odd part is that it only happens on my work laptop
(i.e. on a "release" build)
 
if none got loaded into RD, I'd assume there's an error that stopped everything or simply returned an empty library
 
I do get a "resolver error" state
and NRE in the logs
 
is the log posted somewhere?
 
no, I only pasted a part of the stack trace here yesterday
19 hours ago, by Mathieu Guindon
2018-06-05 17:55:52.0490;ERROR-2.2.6730.21818;Rubberduck.Parsing.VBA.COMReferenceSynchronizerBase;System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
   à Rubberduck.Parsing.ComReflection.ReferencedDeclarationsCollector.LoadDeclarationsFromLibrary() dans C:\projects\rubberduck\Rubberduck.Parsing\ComReflection\ReferencedDeclarationsCollector.cs:ligne 143
   à Rubberduck.Parsing.VBA.COMReferenceSynchronizerBase.LoadReferenceFromTypeLibrary(IReference localReference, ReferencedDeclarationsCollector comReflector) dans C:\projects\rubberduck\Rubberduc
 
not really useful. I'd think the null came from a method where it gave out a null when it shouldn't have....
gah, found another hard-coded GUID there...
 
4:34 PM
and @mansellan's PR did reverse a null check... I don't understand why that null check would blow up here and not at home though
(Office 2010x32 here, 2016x64 home)
 
var declarations = comReflector.LoadDeclarationsFromLibrary();
 
why doesn't line match up?
143 makes no sense in either branches
 
actually I do get this log entry
so it would be 193
 
OK
one thing I don't get, though -
in the body of the method, localReference isn't actually used
it's used in the logging yes but the methods called don't refer to it.
 
4:38 PM
it's this line that's throwing I think?
 
I see - the collector is initialized w/ the reference earlier, though.
 
presumably because module is unexpectedly null
 
that is near where I've been working recently, maybe not this PR though
 
hmm, this diff might be behind #4060
nah
ok I want keyhook-driven doublequote AC to work exactly like R#'s
var foo = "some thing[ENTER]
gets you
var foo = "some thing" +
          "";
 
4:51 PM
:+1:
 
hmm didn't know about that one.
 
it only does the concatenation when the caret is followed by a doublequote
 
but we have no issues with creating a multiple line variable, though?
 
usually these variables are named sql ;-)
 
in VBA, it'd have to have the line continuation.
yeah
just not understanding the use case in C# if multiple line variable isn't a problem, though.
 
4:56 PM
if you don't want to use a verbatim string, concatenating is pretty much your only hope
 
verbatim string being the one I start with @"..."?
 
correct
 
duh, ok now I gotcha
that AC will make it much easier in VBA.
 
But given the lack of a heredoc string, how will we address the other use case where we meant to insert new line?
e.g. [ENTER] should yield " & vbNewline & _
 
4:58 PM
huh?
like R#: you only trigger that AC when the caret is preceding a "
what's a heredoc string?
 
let me clarify - that's a VBA use case I'm discussing.
Consider this:
strMessage = "The following items needs to be reviewed:" & vbNewline & _
  vbNewline & _
  "Item A" & vbNewLine & _
  "Item B " & vbNewline & _
  "Item C"
 
(bad example since they'd be in a loop but something simlar does happen)
 
no, example is good enough
hmm
 
heredoc string would be simply @"..." with no need for the line continuation & quotes.
 
5:00 PM
in that case, no autocomplete then.. it would only get in the way
 
but VBA has no such construct, so we must type all those extra ` & vbNewline & _`
 
@this they're called verbatim strings in C# ;-)
 
and they're called heredoc strings.... somewhere else. :p
 
Java is doing it wrong, obviously
 
Java is wrong.
2
 
5:03 PM
anyway AC wouldn't have a way of knowing whether you mean to have a & vbNewLine & or not... it's autocomplete, not mindreading ;-)
 
anyway, was thinking that it'd be really nice to be type, I don't know... nl[Enter] to get the ` & vbNewLine & _' with the quotes set up.
but that's technically... what did they call it? QuickType? rather than AC....
you know, like the one where you type tryf and you get try....finally?
 
yeah.. not autocomplete
 
ctor is nice
 
I want prop in VBA
 
@MathieuGuindon similar domain though....
 
5:05 PM
IKR? #SoMuchTyping
yeah, better save that for another PR for those "quicktypes" or whatever they are called.
 
I'd call them "snippets" I think
 
luckily, writing SQL statement is more common than writing formatted messages.
 
you know, you got me wondering whether putting & vbNewLine & _ is the sensible default
it kinda makes complete sense most of the time
perhaps the AC could look 2 chars ahead, and do " & _[NEWLINE] on ENTER when the next char is just ", and do " & vbNewLine & _[NEWLINE] when the next char is " preceded by a space
so you get straight-up concat with no mangling whatsoever without a space, and if you put the trailing space in then you tell RD that you're writing a "verbatim multiline string"
the trailing space is required anyway, when writing SQL. common source of invalid SQL syntax too, that missing trailing space...
you hit ENTER and RD doesn't give you the & vbNewLine & _, you know you have a syntax error in the making
hmm
now how can this backfire
I need food, bbl
 
5:30 PM
@IvenBach Yup, I've seen your questions and popped in for some of them :) It's just that @MathieuGuindon usually answers faster and better xD
 
6:13 PM
can someone remind me again why tests can't have CW?
 
6:24 PM
they could... but we never implemented a for-tests ninject/CW setup
 
after asking, I found this SO thread which helps a bit to answer the question, I think: stackoverflow.com/questions/1465849/using-ioc-for-unit-testing
> A major problem with unit tests is to make sure that they are robust in the face of a changing system. One of the most common problems programmers have with unit tests is the so-called Fragile Test smell. Every time you attempt to refactor your code, tests break.
That sounds familiar....
and here's an example using CW: blingcode.blogspot.com/2010/12/…
 
411
Q: Why does array[i++%n] += i+" " give different results in Java 8 and Java 10?

Olivier GrégoireFor a challenge, a fellow code golfer wrote the following code: import java.util.*; public class Main { public static void main(String[] args) { int size = 3; String[] array = new String[size]; Arrays.fill(array, ""); for(int i = 0; i <= 100; ) { array[i++%size] += i + " ...

yup
 
.....
Welp, I guess Java is no longer a language. It's now a language family.
 
6:44 PM
> **REPRODUCTION:**
1. In a UserForm there is a Frame
2. In that Frame there is a TextBox
3. Right-Click the TextBox and select "RubberDuck > Rename"

You will see a dialog to rename the Frame and not the TextBox.

**HYPOTHESIS:**
When selecting control items the parent frame appears to be selected in the GUI at all times.
It is not possible to select a control child of a frame without the parent frame also being selected.

**SOLUTION BASED ON THAT HYPOTHESIS:**
If SelectedItems.Co
> Want to present this for discussion. I've observed that unit tests are quite brittle, especially when refactoring involves changing the constructor parameters and we have lot of objects that has non-trivial constructor injections.

Currently, the tests will directly `new` up any objects it needs to fulfill the dependencies to execute. It does not use any IoC at the moment, and depending on who you listen to, some may regard using IoC in a UT as a code smell.

However, from this [SO threa
> Using the same IoC configuration as the "production code" would be dead wrong indeed, if that's what "IoC in UT is a code smell" stands for. Otherwise I don't see what the problem is with having a "test IoC configuration" that wires up the mocks automatically. It could actually be rather beneficial.

The challenge would probably be to make sure we only construct the minimal dependency tree for the system under test, without needing an IoC config module per test class.
> I like the "pop a dialog and prompt to confirm" option, but only if it's not possible to determine the specific deepest non-parent control that's selected. I do think we should be able to recursively locate the actual selected control though.
 
7:02 PM
> I installed build 3347 this afternoon and I'm getting a consistent crash in Access 2016 (desktop) running on Win10. I was running build 3342 all day yesterday and having no issues whatsoever. I've gone back and forth between the two several times and it's consistently crashing in 3347 right at the end of the initial parse.

3347 log:
[RubberduckLog.3347.txt](https://github.com/rubberduck-vba/Rubberduck/files/2077784/RubberduckLog.3347.txt)
3342 log (for comparison):
[RubberduckLog.3342.tx
 
@Duga hey that's my NRE!
 
NRE... Isn't that what they give you to eat in the Army?
:)
 
3 hours ago, by Mathieu Guindon
19 hours ago, by Mathieu Guindon
2018-06-05 17:55:52.0490;ERROR-2.2.6730.21818;Rubberduck.Parsing.VBA.COMReferenceSynchronizerBase;System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
   à Rubberduck.Parsing.ComReflection.ReferencedDeclarationsCollector.LoadDeclarationsFromLibrary() dans C:\projects\rubberduck\Rubberduck.Parsing\ComReflection\ReferencedDeclarationsCollector.cs:ligne 143
   à Rubberduck.Parsing.VBA.COMReferenceSynchronizerBase.LoadReferenceFromTypeLibrary(IReference localReference, ReferencedDeclarationsCollector comReflector) dans C:\projects\rubberduck\Rubberduc
 
@FreeMan one letter too late. It's M, not N. </nitpick></spoilsport>
 
I dunno, that's all Greek to me...
 
7:13 PM
Meal ready to eat, IIRC.
 
I skimmed through the posts since I left yesterday - that one didn't jump out at me.
Yes, MRE = Meal, ready to eat. They don't call 'em that anymore. My boy's in the Army now, and he's brought some home, but I don't recall what he calls them.
Seems to prefer the ones with M&Ms in the package...
 
:barf: it's just one of those days...
 
they have M&M now? Used to be that they were all alike - a slop of some unidentifiable origin.
 
Even his wife claims they're pretty good.
I claim they're all left over from WWII, but nobody can tell...
:)
 
it's not anything like you would have seen on M*A*S*H, for sure.
i mean, at least it had the appearance of being food.
now, it's just a bag of slop, I guess?
 
7:30 PM
no, actually, there are several little packets inside. they don't put the M&Ms in the same big bag as the SOS...
 
oh, so I'm behind already. I was thinking of those bags where you get it all as one big slop
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=h1) Report
> Merging [#3934](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/f530a9a773ff1da95882fada9ffea150f1e1a3eb?src=pr&el=desc) will **decrease** coverage by `0.16%`.
> The diff coverage is `36.96%`.


```diff
@@ Coverage Diff @@
## next #3934 +/- ##
=======================
 
^that should make the CodeMetrics PR be ready to merge
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=h1) Report
> Merging [#3934](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/f530a9a773ff1da95882fada9ffea150f1e1a3eb?src=pr&el=desc) will **decrease** coverage by `0.16%`.
> The diff coverage is `36.96%`.


```diff
@@ Coverage Diff @@
## next #3934 +/- ##
=======================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=h1) Report
> Merging [#3934](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/f530a9a773ff1da95882fada9ffea150f1e1a3eb?src=pr&el=desc) will **decrease** coverage by `0.16%`.
> The diff coverage is `36.96%`.


```diff
@@ Coverage Diff @@
## next #3934 +/- ##
=======================
[rubberduck-vba/Rubberduck] build for commit fac0f14d on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=h1) Report
> Merging [#3934](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/f530a9a773ff1da95882fada9ffea150f1e1a3eb?src=pr&el=desc) will **decrease** coverage by `0.15%`.
> The diff coverage is `38.64%`.


```diff
@@ Coverage Diff @@
## next #3934 +/- ##
=======================
[rubberduck-vba/Rubberduck] build for commit fac0f14d on unknown branch: 52.83% (target 0%)
 
8:01 PM
TBH I'm not terribly thrilled with constant "ClassID" embedded all over the places. They feel like a booby traps ready to spring on the next unsuspecting fool. (mind you, the fool we speak of is of course, this).
 
I'll be going on a hunt for warnings and messages from the compiler after that is merged and I get the MessageBox PR finalized
so I might as well deal with that, too
 
Ok
 
[rubberduck-vba/Rubberduck] build for commit 72744239 on unknown branch: AppVeyor build succeeded
 
Can somebody splain this to me?
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=h1) Report
> Merging [#3934](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3934?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/f530a9a773ff1da95882fada9ffea150f1e1a3eb?src=pr&el=desc) will **decrease** coverage by `0.15%`.
> The diff coverage is `38.64%`.


```diff
@@ Coverage Diff @@
## next #3934 +/- ##
=======================
 
8:13 PM
 
[rubberduck-vba/Rubberduck] build for commit 72744239 on unknown branch: 52.83% (target 0%)
 
Dim foo As Range foo = Range("B12") ' default member Let = default member Get / error 91
Set foo = Range("B12") ' sets the object reference '...
 
.DataLabel is in the list of properties for an Excel.point object, yet it's not supported?
eh?
 
The 3 examples of code are all set up that way
 
from the Object Explorer:
Property DataLabel As DataLabel
    read-only
    Member of Excel.Point
 
8:16 PM
it's an object, @FreeMan
 
> Hmm.... neither one of those logs looks healthy.
 
if you wanted to do something like seeing what it's displaying, I guess you should be doing stuff like Debug.Print pt.DataLabel.Text or something like that.
pt.DataLabel is basically assuming that the DataLabel is either a primitive non-object/non-array value or is an object that has a default member (which isn't always the case).
 
ugh...
yeah shoulda figured that out.
Argh!!!! the "DataLabel" is the text at the end of the bar that says what the value of the bar is (25, 37, 153054992, whatever). It's NOT the value that's being measured...
back to square 2.
 
@IvenBach good catch... although I sure hope the readers caught the illustrative nature of that code
 
8:31 PM
I don't think most will. It's only because of my deep dive into coding stuff last year that I'm able to spot that.
 
hmm wait a sec... it's missing a line break, is all
 
It is. Outside of that it's valid code.
 
I know your dislike of : instruction separator?
Thought it pretty odd you'd do something similar and omit it accidentally.
@MathieuGuindon :+1: Looking good.
 
> No repro with Access 2010 running from source (next):

2018-06-06 21:31:05.0539;TRACE-2.2.6731.38670;Rubberduck.Common.LogLevelHelper;
Rubberduck version 2.2.6731.38670 loading:
Operating System: Microsoft Windows NT 6.2.9200.0 x64
Host Product: Microsoft Office 2010 x86
Host Version: 14.0.7195.5000
Host Executable: MSACCESS.EXE;
 
8:38 PM
For 'Static' VBA Classes, those that have VB_PredeclaredID = True. When is the class initialized? I want to use it for my codereview.stackexchange.com/questions/191441/… and want to make sure they'll have their dictionaries populated when I need them.
 
I think on the first use
but don't quote me on that. tEst this by siccing a Debug.Print in the Class_Initialize event
If you see debug printed when you use it for first time in the session, then that's the answer. But if the first use doesn't print anything, then you know it got initialized long before you reached it.
 
Testing...
 
@IvenBach storing instance state on default instance is usually a bad idea..
 
I don't want them to be an instance class. I want them accessible whenever I need them. Their dictionary contents will always be the same.
 
IOW, a static class
 
8:42 PM
IOW, a standard module
 
I've done the same but you do have to be careful to not use a instance.
Unless you need events, @MathieuGuindon.
 
@Duga No repro from the installed version either. Must be affecting only certain environments...
 
try initializing in Class_Initialize, if it works, it works :)
 
TBH, I never understood the dichotomy b/t the standard module and class module.
 
8:44 PM
std modules are easier to grok if you think of code as a series of instructions, i.e. procedural paradigm
 
Currently, I have my converters each as their own class. They started out in standardModules but I swapped them to a class as I thought that was best. Have I misunderstood static?
 
no, sorry, I'm not clear. What I mean is that the differences b/t standard/class are artificial. It would have been easier if VBA pretended everything was a class, that's all.
@IvenBach I would prefer to use standard module if possible.
Because that way, there's no accidental instancing and the syntax still works, too... MyModule.MyMethod()
 
Lemme mull this over.
With New SectionSetConverter
    .ToString CompilerHSSSectionSets.NotSet
End With
 
@this yeah that would have made it too much of a "real programming language" for the poor noobs though ;-)
 
That's how I have nearly every single use of my "converters"
 
8:47 PM
But if you must subscribe events or raise events or something like that, then you can use a class module with predeclaredId, but then you have to be attentive in that your code don't try to instantiate such class (which is still legal)
 
smell: ToString wants to be a string-returning function
 
@MathieuGuindon yet the noobs are all "huh what's class? it scares me!". Had it been classes everywhere, I think it'd been easier for them to use events and everything.
 
agreed
 
but no, they think they have to pass around strings and invoke methods on the application to get the objects which they already had in their calling method.... :\
Passing objects just doesn't come "naturally"
 
My head hurts from trying to dissect an Excel Chart...
TTFN
 
8:50 PM
@FreeMan, fly the sky, man!
 
@this but... but... but the macro recorder said so!
 
> sorry found it … by accident when I typed a ‘(‘ it auto closed it with ‘)’. Nice!



As a suggestion on the RD toobar, how about having a global turn ON/OFF button for Autocomplete?. I found that it was not easy to delete one of the ‘(‘ without it not deleting and forcing the ‘)’ again. So I left the ‘()’ and cut and pasted the code in between that. That may be a good thing long term tho.





Regards,



Luke



From: Luke A Burlet <Luke.Burlet@HSConsultants.net.au>
Sent: Wednesday,
 
@MathieuGuindon It is. I happened to grab it where the With New ... was using it here it's expecting an error and I don't care about the return string since Err.Raise gets invoked.
@MathieuGuindon It took me far too long to realize that the MR produces some janky-nasty code...
I knew it wasn't good, but never knew how bad it was.
 
@Duga ugh... email replies...
 
9:05 PM
> @LukeHSC I like the idea of a toggle on the toolbar (although, that toolbar is getting rather wide by now), however do note that backspacing/deleting is currently broken and only effectively works when the left-most character is removed - I'm giving up on trying to devise a fix using the current VBE messenging hook; I'll swap the hooking for an actual keyhook tonight, that way I can know what key was pressed, and reliably fire when a key is actually pressed, instead of filtering caret messag
> sorry found it … by accident when I typed a ‘(‘ it auto closed it with ‘)’. Nice!



As a suggestion on the RD toobar, how about having a global turn ON/OFF button for Autocomplete?. I found that it was not easy to delete one of the ‘(‘ without it not deleting and forcing the ‘)’ again. So I left the ‘()’ and cut and pasted the code in between that. That may be a good thing long term tho.

Regards,
Luke
> Hi Mathieu

Sorry for being daft …

I loaded “v2.2.0.3347-pre” which uninstalled my older version, which is fine

I don’t see where on the new version the ‘bracket matching ’ is ?

Regards,
Luke
> that would be great, at least find matching brace … even better find matching IF / ENDIF and FOR/ENDFOR !
 
not sure if I'm being trolled or not... guy looks legit
Welcome to the VBA tag! ...odd name ;-) — Mathieu Guindon 4 mins ago
 
> PS: would be nice to have a ‘matching bracket ’ finder (and IF/END etc finder) !



From: Luke A Burlet <Luke.Burlet@HSConsultants.net.au>
Sent: Thursday, 7 June 2018 6:58 AM
To: 'rubberduck-vba/Rubberduck' <reply@reply.github.com>
Subject: RE: [rubberduck-vba/Rubberduck] Bracket matcher/finder and auto-completion (#4033)



sorry found it … by accident when I typed a ‘(‘ it auto closed it with ‘)’. Nice!



As a suggestion on the RD toobar, how about having a global turn ON/OFF button fo
> PS: would be nice to have a ‘matching bracket ’ finder (and IF/END etc finder) !
 
One'd hope GH would be smort enough to trim the email replies....
 
emails are just impossible to handle. ..
 
except now we can blame MSFT for that too!
 
9:15 PM
@MathieuGuindon lol
I was thinking just simply stripping the > content would be a start.
 
I bet they can train a ML algorithm with edited issue post diffs data, and make it happen
everything is done through ML these days, right?
#BecauseWhyMakeItSimple
 
ML?
 
machine learning
 
machine be going to skool and learning werd and stuff, ya know?
 
I'm still struggling with human learning.
 
9:18 PM
TBH I have no clue how one'd set up the algorithm.
hey, let's compare the lines and make a guess on how many to delete!
That's why "data scientists" is a whole thing now.
 
@this doesn't help, because quote-markdown is a thing ...
 
> super.



BTW my RD toolbar only has ‘Refresh’ on it ?



BTW2 – love the toolbar when I am on a function and tells me where in the overall VBA it is being used .



And … sorry a bit of a hate … the Code Explorer on my projects takes about 1.5 to 4 mins to refresh, have to do everytime I open the project as I noted before. I wouldn’t think my dinky code is that complex (?) . I have about 12 forms (each form may have between 5 to 10 cmd’s) , about 24 modules and a maybe a couple classes. I
> super.

BTW my RD toolbar only has ‘Refresh’ on it ?

BTW2 – love the toolbar when I am on a function and tells me where in the overall VBA it is being used .

And … sorry a bit of a hate … the Code Explorer on my projects takes about 1.5 to 4 mins to refresh, have to do everytime I open the project as I noted before. I wouldn’t think my dinky code is that complex (?) . I have about 12 forms (each form may have between 5 to 10 cmd’s) , about 24 modules and a maybe a couple classes. I do
 
@this I am always advocating adding Rnd somewhere to any code that I dislike. "Just add in the random function and be done with it...."
 
> Personally, I think the problem with the tests is not that there is no IoC; the problem rather is that there are too many tests not fully using the centrally provided mocks.
For all the refactorings I did to the parsing process, I basically only had to adapt these central mocks. I only had to change families of tests that did not already have a proper method for their purpose in the centralized mocks.
> Would be nice indeed, but we won't have that in the VBE's native code panes, for several reasons:

- Selection can only be in one single contiguous place
- Using the selection to highlight brackets would interfere with typing in a highly disruptive way
- Matching token would have to be visible on-screen, which isn't always the case esp. for blocks
- Changing font/weight of matching token in the code pane requires Win32/COM wizardry beyond my paygrade
- Matching would need "inline pa
 
poke @MathieuGuindon the Code Metrics PR has incorporated the suggested changes
 
9:33 PM
yay!
 
> @LukeHSC note, we've just identified a bug that may cause the resolver to basically fail to resolve everything defined in a referenced library - if that's the case then MANY exceptions would be thrown (and logged), and this could very well make the whole parsing/resolving much slower than normal (and inspections might be raising a bunch of false positives too, so firing many more results than they normally would -> more peformance & memory pressure)... does pre-release 2.2.3310 perform better
 
10:02 PM
TTGH
 
I created my first StackOverflowException today. I'm so proud of myself.
I don't know who else to tell. I don't have friends who write code so I'm sharing my accomplishment with you guys.
 
> Hi Mathieu



I am running as of last night



Version 2.2.6730.21818

OS: Microsoft Windows NT 10.0.14393.0, x64

Host Product: Microsoft Office 2016 x86

Host Version: 16.0.9330.2087

Host Executable: MSACCESS.EXE



I am a bit confused with the GitHub version nums as I had downloaded and installed “Rubberduck.Setup.2.2.0.3347-pre.exe”



I would say the refresh is about the same? I just reopened my ACCDB and did a refresh on the Code Explorer, takes 1.5 mins







From: Mathieu Guin
 
10:24 PM
:grumble: Why doesn't Win7 work as it should with Dvorak keyboard.
@HackSlash Was this intentional?
 
No Iven, that's what was remarkable. I was quite befuddled.
 
That being the case SURPRISE
You'll have plenty more in the future.
 
I had created a validation loop while attempting to do textbox validation. The textbox was infinitely validated. It was so valid that the application crashed.
 
What's the generic name for a Dialog box is the generic name for msgBox?
 
This article uses them at the same time: msdn.microsoft.com/en-us/library/windows/desktop/…
 
10:31 PM
:+1: Unducking believable! #Words didn't betray me for once.
 
10:41 PM
@HackSlash lol
@IvenBach well msgbox is just one kind of dialog isn't it?
 
You already know of my struggle with #Words.
 
People use words as if they have meaning.
 
> Hi Mathieu

I am running as of last night


Version 2.2.6730.21818

OS: Microsoft Windows NT 10.0.14393.0, x64

Host Product: Microsoft Office 2016 x86

Host Version: 16.0.9330.2087

Host Executable: MSACCESS.EXE



I am a bit confused with the GitHub version nums as I had downloaded and installed “Rubberduck.Setup.2.2.0.3347-pre.exe”



I would say the refresh is about the same? I just reopened my ACCDB and did a refresh on the Code Explorer, takes 1.5 mins
 
English is not a strongly typed language. Plus, you have no control over the interpreter.
 
> Yeah there's a known issue about the "about" box showing the version# from the wrong assembly, following the split of `Rubberduck.Main` and `Rubberduck.Core`; the correct/intended version is only shown on the splash form at startup.

If you're referencing libraries that you're not using, removing them could help with performance a bit. Otherwise, watching logs for exceptions can indicate problems. Note that only the initial parse should take a while, subsequent parses only process what needs
 
10:54 PM
@IvenBach did you resend me your article or that fell between two chairs?
(please tell me I didn't forget to send my reply!)
Word of the day: VERSCHLIMMBESSERN (German) - to making something worse while trying to improve it.
Translation: refuctoring
 
11:50 PM
> hi Mathieu



Been working coding this AM with the autocomplete on, for most part seems ok, few glitches , i.e. re-autocompleting brackets if I go to edit them or backspace over them.



Biggest issue just now, I went to copy and paste a variable after a ‘[‘ bracket and RD made this:





I sent to turn off the autocomplete for RD but it does not want to turn off? I sent to Settings, unticked the ‘Close Square Brackets’ pressed Ok. But still autocompletes square brackets. I
> hi Mathieu

Been working coding this AM with the autocomplete on, for most part seems ok, few glitches , i.e. re-autocompleting brackets if I go to edit them or backspace over them.

Biggest issue just now, I went to copy and paste a variable after a ‘[‘ bracket and RD made this:

I sent to turn off the autocomplete for RD but it does not want to turn off? I sent to Settings, unticked the ‘Close Square Brackets’ pressed Ok. But still autocompletes square brackets. I went back to settings
> Write a nested `For Next` in the form

For x = a To b
For y = c To d
' ...
Next y, x

throws a Parser Error on the `Next y, x`

> extraneous input ',' expecting {<EOF>, ':', REM, NEWLINE, ''', WS, LINE_CONTINUATION}
 

« first day (1461 days earlier)      last day (1719 days later) »