« first day (629 days earlier)      last day (1382 days later) » 

12:01 AM
RELOAD!
[Hosch250/Rubberduck] 5 commits. 328 additions. 52 deletions.
[retailcoder/Rubberduck] 8 commits. 110419 additions. 108146 deletions.
[rubberduck-vba/Rubberduck] 6 commits. 3 opened issues. 1 closed issue. 16 issue comments. 56581 additions. 53275 deletions.
 
12:37 AM
@RubberDuck Are you around?
Could you explain what "Unset" is doing in this enum?
public enum CommitAction { Unset = -1, Commit, CommitAndPush, CommitAndSync }
Shouldn't "Commit" be the default?
 
1:01 AM
@Hosch250 IIRC that was to bind the control so that it was unselected by default.
Can't say what the thought process was beyond that.
 
VS uses Commit as the default. I think I'll go with that.
 
That was a long time ago.
I like that. Go with it. =)
 
1:51 AM
> Need to be mindful of messages while in run mode. IE. They increase in volume, and edits aren't occurring.
 
2:10 AM
> I don't know about this. It's yet another hook and, really, quite a lot of overhead to cover what's essentially an edge case: there's always the refresh button to trigger the parser and keep everything in sync.
 
2:41 AM
> Agreed, it's a lot of testing too. I just wanted to document the approach, as it seems like it*would* work, and be the *least* complicated approach.
Maybe 3.0/4.0....
 
2:58 AM
[Hosch250/Rubberduck] Hosch250 pushed commit c88b9748 to BugBlipper: Sort-of set up a couple VMs
 
@Mat'sMug You available?
I was having trouble getting the right ctor called by Ninject. Turns out that I can force it to use the right one by putting the Inject attribute on it.
Is that the right way to solve this, or no?
 
[Hosch250/Rubberduck] Hosch250 pushed commit 8e05324b to BugBlipper: More VM stuff
 
The peculiar thing is, I want it to bind to the one with the most values, and it isn't.
I'm not implementing an interface or anything either.
 
3:23 AM
[Hosch250/Rubberduck] Hosch250 pushed 22 commits to BugBlipper (only showing some of them below)
[Hosch250/Rubberduck] autoboosh pushed commit 8f6f40e1 to BugBlipper: fix operator precedence
[Hosch250/Rubberduck] autoboosh pushed commit 94ef8f7e to BugBlipper: readd accidentally deleted changelog line
Merge pull request #1140 from autoboosh/precedencefix

fix operator precedence
Merge pull request #49 from rubberduck-vba/next

sync with merged PR's in main repo
[Hosch250/Rubberduck] retailcoder pushed commit 1a0c3d62 to BugBlipper: fixed double-parse startup issue (ref #1033)
[Hosch250/Rubberduck] retailcoder pushed commit 8145e792 to BugBlipper: removed deprecated VBProjectParseResult class
[Hosch250/Rubberduck] retailcoder pushed commit 5d19c44b to BugBlipper: implemented dispatchers for VBProjects and VBComponents events. needs refactoring and further fine-tuning, but works.
Merge pull request #1141 from retailcoder/CodeExplorer

Handle VBProjects and VBComponents COM events
Merge pull request #1144 from rubberduck-vba/CodeExplorer

merge latest changes
[Hosch250/Rubberduck] Hosch250 pushed commit c7b2ec4b to BugBlipper: Pull from next
 
3:39 AM
[Hosch250/Rubberduck] Hosch250 pushed commit f787492f to BugBlipper: Fix problems caused by merge conflicts. Create new InspectionResultBase parameter to deal with these exceptions with a null Target
[Hosch250/Rubberduck] Hosch250 pushed commit 82f4c0ed to BugBlipper: Use new parameter when possible
 
 
2 hours later…
5:38 AM
[Hosch250/Rubberduck] Hosch250 pushed commit 3fda300e to BugBlipper: Branches viewmodel
 
5:48 AM
[Hosch250/Rubberduck] Hosch250 pushed commit 8f7553a8 to BugBlipper: UI tweaks
[Hosch250/Rubberduck] Hosch250 pushed commit e6bf7b4a to BugBlipper: Fix XAML indentation
 
Good night.
 
6:46 AM
> At the moment some of commands in mouse context menu, like Find all references, could be disabled even if usable right now.

I can't understand, how it depends of current editor context.
> I'm trying to find references to Function. Cursor is on function name, and when I select Find all references command from context menu, it does nothing. No errors, nothing in appl logs.
> The same is true for Go to implementation...
> Oops. I can see that big part of NavigateAllReferences class was commented out, probably not implemented completely.
> Yea, something like #404. I'm not sure I would like SQL-like syntax for expressions, may be something like XPath, as ANTLR does.
 
7:37 AM
> Duly noted. That's also an interesting idea!

May I ask what you mean by "as ANTLR does"? I'm unaware of this feature.
 
 
2 hours later…
9:34 AM
> @retailcoder .. the reviewed snippet is still causing a different exception

> Exception thrown: 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' in System.Core.dll
("'Rubberduck.Parsing.Grammar.VBAParser.TypeContext' does not contain a definition for 'typeHint'")

> Exception caught: 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' in System.Core.dll
("'Rubberduck.Parsing.Grammar.VBAParser.TypeContext' does not contain a definition for 'typeHint'")
 
 
3 hours later…
12:50 PM
0
Q: Wrapper for complicated Range manipulation

whytheqI'm playing around with a class module to try to wrap up some complicated(ish) Range manipulation in Excel-vba. I might have a situation where I know the red range spans my target (the target is to have it's contents cleared) and all cells below the red range should go. Green areas are cells use...

 
 
1 hour later…
2:13 PM
My days of Outlook woes are over, got the filtering script working really good now :D
BTW, is this correct?
Dim Recipient As Object
For Each Recipient In item.Recipients
It works fine but I wasn't sure if Object was the best choice
 
Could be As Recipient, no?
 
Let me try
Sure enough
Dim Recipient As Recipient
For Each Recipient In item.Recipients
Looks a bit weird, but VBE capitalization is wonky (as I'm sure you know)
 
2:33 PM
Naming is hard already. With case-insensitive languages, naming gets even harder!
 
I should probably get this reviewed lol...
 
heck why not?
 
May as well
I have to say, just running this one script is WAY faster than running like 20 different rules
 
for sure!
 
2:58 PM
0
Q: Replace many Outlook email rules with a script

PhrancisI as well as several of my colleagues have had an ongoing problem where we get bombarded with hundreds if not thousands of emails each day with come from automated services, such as SQL DBmail and other similar mechanisms. Many of these notifications are not really important to look at, and they ...

 
3:11 PM
All thanks to the awesome Rubberduckers here, I now have this little guy making me smile all day :)
5
 
3:41 PM
BBIAB walking the dog
@Phrancis if you have questions wrt. the review, I'll be back in an hour or so
 
3:59 PM
@marick @mfeathers the process is known as "refuctoring"
 
@TweetingDuck woot, got a "like" from Michael Feathers!
 
4:23 PM
@Mat'sMug but I can actually pull them up to module level, right?
 
I thought the module-level stuff had more to do on how the code is interpreted/compiled and not what the code does
 
@Phrancis since that doesn't change between Sub-Calls it's IMO just fine to put it there
and I think you can speed the execution up quite a bit with that
also... since when did Microsoft outsource it's documentation to github?
 
4:45 PM
@Vogel612 I moved those declaration to module level, we'll see what happenes
'Make all text matching case-Insensitive
'To make case-Sensitive change to: Option Compare Binary
Option Compare Text
'No implicit variables allowed:
Option Explicit

'Set up Outlook application and inbox variables
Dim nameSpace As Outlook.nameSpace
Dim inbox As Outlook.Folder
Set nameSpace = Application.GetNamespace("MAPI")
Set inbox = nameSpace.GetDefaultFolder(olFolderInbox)
 
@Vogel612 yeah you can have them at module level, but they can't be Const and you need a way to initialize them once
 
I did edit the answer. should be fixed
 
@Vogel612 a couple of months already
 
Gah, FML SQL - Why can't you simply convert ce20c5a31f6449c2ab819aa057a05f4c to uniqueidentifier, even if it doesn't have the hyphens -_-
 
the hyphens are always at the same spots, you could write a scalar function that does it :)
 
4:51 PM
Yeah except I don't have that kind of write access on the DBs
 
> I mean  http://www.antlr.org/api/Java/org/antlr/v4/runtime/tree/xpath/XPath.html


>Среда, 24 февраля 2016, 23:37 -08:00 от Christopher McClellan <notifications@github.com>:
>
>Duly noted. That's also an interesting idea!
>May I ask what you mean by "as ANTLR does"? I'm unaware of this feature.
>—
>Reply to this email directly or view it on GitHub .
 
I can perform writes on most non-system objects, but I don't have access to hardly any system stuff
 
you don't have your own db to play with?
 
I have (localdb)
 
hmm
 
4:58 PM
Not too worried about it (doesn't come up that often) I just thought T-SQL would be smart enough to convert it
 
@Duga We'd have to be really careful with that one. We don't want to create a weak spot for a hacker to target.
 
@Vogel612 @Mat'sMug my script appears to no longer be working now that I moved the Outlook variables to module level (i.e. it does nothing when it runs)
 
are they assigned?
 
'Make all text matching case-Insensitive
'To make case-Sensitive change to: Option Compare Binary
Option Compare Text
'No implicit variables allowed:
Option Explicit

'Set up Outlook application and inbox variables
Dim nameSpace As Outlook.nameSpace
Dim inbox As Outlook.Folder
Set nameSpace = Application.GetNamespace("MAPI")
Set inbox = nameSpace.GetDefaultFolder(olFolderInbox)
^ top of module
Would I need to restart Outlook or something like that?
 
that can't be legal
 
5:07 PM
Just going by what Vogel suggested
 
the declarations section is for declarations, not for executable code... does that even compile?
 
It doesn't give any errors
 
I'd expect some "illegal outside of procedure" error
I'm getting "illegal outside of procedure" here
 
Would the Set need to be moved down to proc level?
 
yes, you need a procedure that initializes the fields once
i.e. exit when the fields aren't Nothing
 
5:10 PM
@Phrancis you can initialize them during declaration.
Reread my answer
 
I really don't like vba
4
 
lol
 
@Phrancis that thing should be completely legal
Dim message As String = "Just started"
^ that's from the official docs
it is constructed just like yours there
 
@Vogel612 you're reading VB.NET docs
 
5:18 PM
@Mat'sMug I challenge that... reading here
no mention of .NET
 
> Visual Studio 2015 Andere Versionen
@Vogel612 challenge accepted
 
ARGHHH WHY?
 
That's after I added this
Sub InitOutlookEnv(item As Outlook.mailItem)
    'Set up Outlook application and inbox variables
    If nameSpace Is Nothing And inbox Is Nothing Then
        Dim nameSpace As Outlook.nameSpace
        Set nameSpace = Application.GetNamespace("MAPI")
        Dim inbox As Outlook.Folder
        Set inbox = nameSpace.GetDefaultFolder(olFolderInbox)
    End If
    FilterMailItems (item)
End Sub
 
inbox is local to InitOutlookEnv... keep the Dim statement at module-level
 
5:21 PM
Oh. So only Dim at the top, and Set it in the function?
 
yes!
 
GD this thing is picky
 
> @sshikov nice find, except, no, we're not going to expose the ANTLR parser instance anywhere through COM, or any of the `IParseTree` instances. These are Rubberduck's internals and in no way part of a public API. What we *will* expose to VBA client code, is an iteratable set of objects (perhaps even a tree structure, perhaps even XML-serializable), *representing* the `Declaration` and `IdentifierReference` objects that Rubberduck is working with.

I say "representing", because even `Declarat
 
@Phrancis well, not really. "declarations section" is meant for "declarations". assignment != declaration
 
'Make all text matching case-Insensitive
'To make case-Sensitive change to: Option Compare Binary
Option Compare Text
'No implicit variables allowed:
Option Explicit

If nameSpace Is Nothing And inbox Is Nothing Then
    Dim nameSpace As Outlook.nameSpace
    Dim inbox As Outlook.Folder
    Dim destFolder As Outlook.Folder
End If
That good?^^
 
5:23 PM
    'Make all text matching case-Insensitive
    'To make case-Sensitive change to: Option Compare Binary
    Option Compare Text
    'No implicit variables allowed:
    Option Explicit

    Dim nameSpace As Outlook.nameSpace
    Dim inbox As Outlook.Folder
    Dim destFolder As Outlook.Folder

    Sub InitOutlookEnv()
        If nameSpace Is Nothing And inbox Is Nothing Then
            Set namespace = ...
            Set inbox = ...
            Set destFolder = ...
        End If
    End Sub
 
OK. Now should I still have the rule call Sub FilterMailItems(item As Outlook.mailItem) ?
 
@Phrancis I'm missing context
but probably not
IDK, depends
 
>_<
 
"Set", not "Dim"
...
 
O.
 
5:28 PM
@Phrancis you did already dim them earlier. just set them
sidenote: the destFolder can change on every call you're making, so it's probably not well-placed on module level
 
^^
 
Yeah I also just realized that
 
also I'd revert the condition and Exit Sub instead of nesting ;-)
 
Theeeree we go
Pro Tip, I'll do that thanks
Sub InitOutlookEnv()
    'Set up Outlook application and inbox variables if they are not already
    If nameSpace Is Nothing And inbox Is Nothing Then
        Exit Sub
    End If
    Set nameSpace = Application.GetNamespace("MAPI")
    Set inbox = nameSpace.GetDefaultFolder(olFolderInbox)
End Sub
owait lol
 
Uh, you didn't revert the condition
 
5:32 PM
 
if not foo is nothing
I know.. don't ask.
 
Blech
 
Actually for this case I'd not invert the condition
 
Well, it works now
 
what's the rationale?
 
5:34 PM
(again)
 
@Phrancis faster now, right?
 
It's pretty fast yes
 
@Mat'sMug because it Isn't guarding more following code
 
hmm
either way works anyway
 
Here @Vogel612 I made a pastebin with the (working) changes, please do incorporate those in your answer: pastebin.com/gwy0PTH7
You definitely had the right idea, just VBA being a little b*tch
 
5:40 PM
@Mat'sMug It's not like it's a "precondition" of the method...
 
I kinda consider it as such though - making it look like a guard clause emphasizes that it's meant to "run only once" IMO
 
5:51 PM
@Mat'sMug Have you noticed a decrease in memory leaks since we moved to WPF nested controls?
It seems to me the leak isn't nearly as bad.
 
no. but it's fairly possible
 
I've not done any profiling, but it seems to finish in just a few seconds instead of waiting for over a minute.
I wonder how many people are currently using the source control, and how many are keeping up with Next just for usage.
There have been a lot of people tell us they are using the latest build lately.
I guess that means we could probably do a beta release as soon as the source control and Regex things are done.
If people are that desperate for the new features, I mean.
 
@Hosch250 exactly what is "it" in "it seems to finish"?
 
The time for VS to say that Excel is closed when I close Excel from itself.
 
@Hosch250 we still need to fix the missing resources, and figure out why the code pane context menu overwrites the "Paste" command
 
5:58 PM
Oh, OK.
Umm, are you using the ID for the Paste command?
 
I'm inserting the menu the exact same way I'm inserting every other menu
 
Hmm.
 
"InsertBefore(id)"
 
Which menu is this?
The code pane context menu?
 
yeah
it's just another ParentMenuItem implementation
 
5:59 PM
I'm not seeing anything wrong.
 
dafuq
only on my machine then
fine
 
Let's see. Did you accidentally delete the Paste command?
2
I accidentally deleted my File menu once.
It even remembered it between installs of Office.
I fixed it by using the menu.Reset() button, or something, which reset them all to the original.
 
> Apparently this is a "only on my machine" thing.

![image](https://cloud.githubusercontent.com/assets/5751684/13329113/2f435dac-dbc0-11e5-8c81-3c5d4a4cd390.png)
 
Jun 2 '15 at 1:05, by Hosch250
menuBarControls.Parent.FindControl(MsoControlType.msoControlPopup, Visible: true).Delete();
 
@Hosch250 somewhat possible
 
6:04 PM
Jun 2 '15 at 1:37, by Hosch250
Going to try RESET().
So, just use Reset(), wherever it is, and see if that fixes it.
 
not sure if it's nice or annoying that I don't get an error for inserting before a menu item that doesn't exist in the first place
4
 
^^annoying
 
Holy smokes, you know what I just thought of?
 
@Phrancis yeah.. except I don't want that error - I can't control what users do to their menus
 
You know how we have to relay all those commands to build the VBE when we have the hotkeys enabled?
 
6:06 PM
uh, wat?
 
We could probably literally build our own entire UI by hijacking those commands.
I do NOT advocate that path. It will be riddled with COM exceptions.
 
6:51 PM
in The 2nd Monitor, 4 mins ago, by CommitStrip
http://www.commitstrip.com/en/2016/02/25/you-cant-write-code-without-knowing-how-to-log/
CommitStrip
You can’t write code without knowing how to log
CommitStrip
1456425408
Totally on-point for me today
Also, I don't know how to tell if this is a good answer or not
 
I just heard @Vogel612 say "FML" as he got that last ping
There's no Continue statement in VBA, it can be simulated with... GoTo =) — Mat's Mug ♦ 1 min ago
 
hrmph...
fixed.
 
I wouldn't be against using GoTo Skip as long as it's clear and it's self-contained only in this procedure
 
@Phrancis it's actually the only legit use case of GoTo that I can agree with :)
basically that's what Continue does anyway
 
Right
Could you look at the answer I linked just a few comments ago? That sounds like over-complicating things to me
 
7:05 PM
he's actually making very good suggestions (IMO) to enhance the flexibility/maintainability of your solution
I gave it a +1
 
I like the array/list idea, but have no idea how to do that in VBA :D
'Filter for SENDER:
If ( _
    Not InStr(item.SenderName, "partnerlinksupport") > 0 _
    And Not InStr(item.SenderName, "SQLAdmin") > 0 _
    And Not InStr(item.SenderName, "biz") > 0 _
    And Not InStr(item.SenderName, "intdev") > 0 _
) Then
    GoTo Skip
End If
If I do it like that I should be able to unnest almost all, if not all, the conditions... though it makes the code very procedural-looking IMO
 
You could take a leaf out of Zak's book
 
Look at my ContainsAny method I linked yesterday
 
did you see the code from the 2nd earlier today?
 
@Vogel612 I might have missed that, I don't recall it
 
7:16 PM
From here onwards
 
@Vogel612 Ah yes, do you mean the enum stuff?
 
yeap
if you bundle that with a String you can do checking for strings in different "parts" of an email
 
I'm having a hard time picturing it...
 
it might work along the lines of following table structure:
create table FilterRules (
    -- id, bla bla
    int EMailField,
    varchar(40) Criteria,
    varchar(40) MoveTo
)
 
Ah I see
 
7:22 PM
and then you can go over each record in that table to check your current email's relevant field against the given criterion to move them to the folder you want
that implies an ordering, but alas...
 
Look 'ma, no nesting!
 
instead of GoTo SkipItem you could just Exit Sub
 
Nope, can't use End Sub in the middle of a Sub, apparently (or rather you can, but it literally ends the Sub right there)
 
7:37 PM
EXIT not end
 
O
There we go
I'm not good at paying attention today, sorry -_-
 
8:34 PM
Office Blog: "[Office] added TEXTJOIN and CONCAT to combine a list or range of text strings, MAXIFS and MINIFS to find the maximum or minimum in a range given one or more conditions and IFS and SWITCH to avoid messy nested IF functions."
^ that is about 25 years too late...
 
lol
 
9:30 PM
> That's pretty cool @sshikov. I didn't know that existed, thank you for sharing!
 
10:13 PM
spacex launch in 1h 30mins spacexstats.com/missions/ses-9 :P
 
10:41 PM
Think it will blow up again? I heard their last two did.
 
the last one didn't blow up :P
 
I thought they had to abort.
 
the landing failed though which is a secondary objective only anyway
 
Oh, OK.
 
ah yesterday? yeah
bad weather or something I think
 
10:42 PM
No, I mean blow the thing up so it doesn't come down and crash into the land.
They have to do that sometimes.
 
yeah that was last year
they had to stop flying roockets for a few months after that
 
OK. I don't follow them very closely.
 
:P
there's a spacex subreddit, reddit.com/r/spacex if you ever get the need to know everything about spacex
 
11:26 PM
VBA Hosts - "As of June 1999, more than 80 VBA host applications were available to developers to purchase"
^ There's a spreadsheet at that link with a list of the 220 VBA licensees.
this one is cached from 2007, and seems to have additions and deletions.
 
and your plan is to support them all? :P
 

« first day (629 days earlier)      last day (1382 days later) »