« first day (638 days earlier)      last day (2542 days later) » 

12:01 AM
RELOAD!
[Hosch250/Rubberduck] 13 commits. 478 additions. 343 deletions.
[retailcoder/Rubberduck] 1 commit. 253 additions. 1 deletion.
[rubberduck-vba/Rubberduck] 19 commits. 1 opened issue. 8 closed issues. 34 issue comments. 104477 additions. 78777 deletions.
[Vogel612/TranslationHelper\‌​] 2 commits. 18 additions. 27 deletions.
[Zomis/Machine-Learning] 1 issue comment.
 
yeah I'm fine with whatever tbh
thanks for the infos @ThunderFrame :)
 
 
1 hour later…
1:10 AM
@Hosch250 @Mat'sMug if anyone tries to update our version of LibGit2Sharp, keep an eye out for this change. It broke part of the api that we're relying on. github.com/libgit2/libgit2sharp/pull/1171
 
@RubberDuck OK. What are the implications of that?
What do I have to change to accommodate that?
 
1:28 AM
@Hosch250 I haven't dug into what exactly was changed yet. I think it means we need to find a clean way to pass a Signature down from the app, the whole way into the GitProvider and along with every call to Commit, but I need to look at the new API.
 
OK.
Shouldn't be that hard. What is a Signature?
 
Honestly, I'd probably keep using the version we have until post-2.0.
Email address & name.
 
Oh.
 
I believe we assume the confit is correct atm.
s/confit/config
 
Boy, this is going to get tricky.
Our tabs do not know about the login view at all.
 
1:31 AM
I'm thinking we just store it in the GitProvider when we create the instance.
 
Oh, OK.
 
Yeah. I've gotta look. Maybe I can do some research early tomorrow.
There's a whole list of changes though. I'm seriously thinking we wait to upgrade.
 
@Duga #1173 Late Bound COM Reflection.
 
1:48 AM
@Duga #1174 Late Bound Class instances.
 
2:14 AM
> Ok, ..but we'll be looking for a Controls collection. Isn't that member guaranteed to be present and implemented by the interface?
> Now that we have Reflection for early-bound references, we need to *consider* reflecting the late bound references.

>Wait... Why wouldn't we find CreateObject() calls, grab the argument, and go look up the com type?
Lots of edge cases, but the simplest one would be easy enough I think.

Well, presumably developers are late binding for a reason. It's worthy of a code inspection, at the very least.

But you might choose to late bind because the library might not exist on all PCs, or the
 
@Duga - 50 minutes to recognize the issue?
 
> VBA doesn't have a way of creating an instance of a local class, by name, but there are approaches that I've seen used...

http://stackoverflow.com/questions/1057670/vba-create-a-new-object-using-the-text-name-of-the-class

And

http://www.codeproject.com/Articles/164036/Reflection-in-VBA-a-CreateObject-function-for-VBA

Should Rubberduck attenpt to recognise this approach? Provide inspections for it?
> A literal would be the "simple case" I was referring to. A constant, harder, but not impossible. Resolving the runtime value of a variable is the edge case I wouldn't want to have to code for. I do believe using a variable would be an edge case though. I can't think of a reason I would want to calculate which library/object I was getting an instance of.
> IIRC the accessibility of Access document-type components depends upon whether the document is open in design view, and perhaps, to a lesser extent, if the code module is open.

That is, I'm not sure that the controls collection is available, *unless* the form is open is design view. Opening a form/report into design view takes time...
> Excel keeps worksheet ActiveX controls in the Worksheet Shapes collection. Word keeps ActiveX controls in the Document.Fields collection.
 
2:40 AM
[Hosch250/Rubberduck] Hosch250 pushed commit 703d73f7 to BugBlipper: Published/unpublished branches show correctly (finally!)
[Hosch250/Rubberduck] Hosch250 pushed commit a2a86193 to BugBlipper: Delete branches both locally and remote
[Hosch250/Rubberduck] Hosch250 pushed commit f322cb4c to BugBlipper: Remote outdated bug comment
 
3:01 AM
[Hosch250/Rubberduck] Hosch250 pushed commit ed529fb9 to BugBlipper: Don't let user try to delete active branch
 
 
2 hours later…
4:38 AM
@Mat'sMug Are you around?
We use TextWrapping="Wrap" in a few places in Rubberduck.
This tries to split the word at a space, but if it cannot, it will split the word between letters, and it looks kind of funny (not that anyone should ever use it that small...).
On the other hand, if we use WrapWithOverflow, that will not split the word between letters, but if a word is too long, the word overflows.
I think I'm going to change everything to WrapWithOverflow because it looks better.
 
[Hosch250/Rubberduck] Hosch250 pushed commit 14c02c40 to BugBlipper: Notify user that they will need to redo their last action. Remove auto-sync/push after reload (had potential edge cases if user canceled). Use WrapWithOverflow rather than Wrap for UI text.
 
 
6 hours later…
 
2 hours later…
1:07 PM
> @Hosch not sure where the feature is at these days with the UI rewrite you've been working on. Is undo and revert done? If so, we can close this.
> Oops. @Hosch250 ^
> @Hosch250 I think we should reopen this until we verify that we're using the credentials from the UI instead of the .gitconfig file. Will be closely related to the LibGit2 v0.22 upgrade. This method will no longer work after we do that. Thoughts?
[retailcoder/Rubberduck] retailcoder pushed 23 commits to CodeExplorer (only showing some of them below)
Merge pull request #1168 from retailcoder/CodeExplorer

Resolver performance fix
move to expression ast for easier maintenance

Each IExpression represents a cc-expression. An expression produces an IValue. Each IValue knows how to let coerce itself to the target type.
[retailcoder/Rubberduck] autoboosh pushed commit a44c320b to CodeExplorer: consider declared option compare method when comparing strings
[retailcoder/Rubberduck] autoboosh pushed commit 56d8523e to CodeExplorer: add vbaparser tests based on real world code
[retailcoder/Rubberduck] autoboosh pushed commit 5df7a89e to CodeExplorer: add preprocessor validity tests
[retailcoder/Rubberduck] autoboosh pushed commit e7a055e6 to CodeExplorer: Merge branch 'next' of github.com/rubberduck-vba/Rubberduck into interpreter
Merge pull request #1170 from autoboosh/interpreter

Preprocessor for Rubberduck (#1132)
[retailcoder/Rubberduck] autoboosh pushed commit 8437dfca to CodeExplorer: make preprocessor always use "option compare text" mode
 
@Hosch250 fell asleep in the kids' room again.. was too tired lol
 
Merge pull request #1172 from autoboosh/optioncompare

make preprocessor always use "option compare text" mode
Merge pull request #55 from rubberduck-vba/next

sync with merged PR's in main repo
> More info. I hotfixed the crash in f7166e1, but did so in a way that will no longer work after we update the library we're using.
 
1:28 PM
gosh MSDN sucks at documentation
good thing there's the object browser. I need to use it more.
 
yeah and it doesn't work on mobile at all, at least on my somewhat old iphone 4 lol
 
it ends up loading on my S4
I was looking for the PARAMFLAG enum members' underlying values
next time I'll default to the object browser
 
1:45 PM
> LibGit2Sharp recently released version 0.22.

https://github.com/libgit2/libgit2sharp/releases/tag/v0.22

I'd like to stay reasonably up to date, but I also don't want to put our own release of 2.0 at risk.

There is some info about the FileStatus enumerating in #485 here, and is related to [1062 on LG2][1]. Should be simple enough to fix up on our end. #222 is also related. We need to make sure any changes bubble up to the COM interop library. I'd like to maintain the API if possible.
> I don't know what the impacts are (haven't touched the SC code in any way, ever) - but don't worry about risking the 2.0 release over this: there's still plenty of time to get things to work with the latest & greatest libgit2sharp version. Just take it to its own branch! Or am I missing something?
 
Monking all.
 
hello!
 
> I just don't want to get into a quagmire of trying to upgrade when @Hosch250 is just stabilizing the feature. There are a number of breaking changes. I think those are the only two that affect us, but I could have missed something. I can pull down the latest version of vNext next weekend and determine the impact.
 
You make a good point about branching. If it's too much, we can stay with the pre-release version for now.
 
> Ok. Well then, let's let @Hosch250 get the feature release-ready (it's almost there), and then there can be a new branch made for the upgrading of the libgit2sharp dependency, done on-the-side while the SC stuff isn't being worked on anymore.
 
2:01 PM
I gotta say, COM reflection is more "fun" than I ever imagined
2
you get to really see all the magic VBA is doing
                            var parameterCount = funcDesc.cParams;
                            for (var paramIndex = 0; paramIndex < parameterCount; paramIndex++)
                            {
                                var paramPointer =
                                    new IntPtr(funcDesc.lprgelemdescParam.ToInt64() + Marshal.SizeOf(typeof (ELEMDESC))*paramIndex);
                                var elementDesc = (ELEMDESC) Marshal.PtrToStructure(paramPointer, typeof (ELEMDESC));
                                var isOptional = elementDesc.desc.paramdesc.wParamFlags.HasFlag(PARAMF
I'm so happy to live in a day & age where all that COM crap is a relic of the past!
2
 
lol
 
I don't even have the parameter's name yet
 
is this all documented on msdn?
 
Bwahahahaha I wish
I'm adapting this code
 
ah I see, good luck then :p
 
2:13 PM
it's just fun to be in uncharted territory
 
you weren't joking then, for a minute I thought you were being sarcastic when you said it's "fun"
 
I'm ambivalent about how much fun I'm having :)
ah, got it. TYPEDESC.lpValue gets me the Int32 href I need to fetch the ITypeInfo so I can call GetDocumentation to retrieve the goddamn parameter's name
ugh, maybe not. that would be for a ref parameter / VT_PTR
FML
 
It doesn't help that MS keeps removing documentation.
 
why doesn't ELEMDESC have a frakkin' memid
 
Fortunately, I remember that MSDN Magazine published a great article on TlbInf32.dll....
 
2:25 PM
oh I'm such a morron
^^ "eureka" moment
 
lol - article in that same December 2000 MSDN Magazine: "Is COM Dead?"
 
@ThunderFrame Microsoft tech has a way of living forever.
 
Getting angry eyes, bbl
 
lol - I have some Technet CDs with all of the old KB articles.
IIRC, some of them have 3, 4 and 5 digit KBs
 
any must read articles among them? :P
 
2:41 PM
Here's a good one for .Net devs. blogs.msdn.com/cfs-filesystemfile.ashx/__key/…
#MultiThreadingIsFun
 
oh thanks
 
It demystified the lock() method if nothing else.
 
@awgaya There are gems like %~dp0 that I still use today...
Try throwing %~dp0 in a command-line, and watch the interns freak out
 
3:00 PM
@ThunderFrame What's that do?
 
returns the path the batch file is being run from
It effectively means Expand the drive and path of the 0th open argument
@Mat'sMug In case you need to refer to the VB source to go with that MSDN article - web.archive.org/web/20051203013516/http://msdn.microsoft.com/…
 
The param names are returned along with the function's name.. who the F designed this crap?
 
Bill?
 
Can't wait to refactor and put it up for review. But if I sit at my desk again in the next 6-8 hours I might not survive the weekend
@ThunderFrame can't believe he made billions with that sh!t
Actually, can't believe an entire frakkin OS is relying on this crap
No wonder the win95 demo BSOD'd
 
I suppose he stole Anders, made .NET, and now you get to play with COM reflection.
 
3:16 PM
Yip'dee-F'n-doo
 
btw - I got a ticket to the Excel Summit South conference this coming Friday.
Want me to thank Mr Jelen for the SI contribution?
 
4:03 PM
oh great. all param names are RHS
wait, no
it works!
Member: InStr (Function) :: Variant
	Parameter: Optional ByRef Start
	Parameter: Optional ByRef String1
	Parameter: Optional ByRef String2
	Parameter: Optional Compare
todo: get param types, and boom, done
bbl
 
I'm guessing that InStr Start param has to be Variant, to allow the "overload"?
 
4:21 PM
> I don't think Access 2013 Forms or Reports have VBA Designers, or not as far as the VBIDE is aware.

Access *can* have standard UserForms, which do have Designers, but Access Forms and Reports do not return a DesignerID, and HasOpenDesigner is always false, regardless of whether the Form/Report is open in Access' design view.

The Properties collection of the vbComponent is unavailable if the Form/Report is closed, but is available if the Form/Report is in Design mode, which means you *can
> @ckuhn203 That is up next.
> @ckuhn203 We are using the credentials from the UI. The only thing we actually use from the config is the repos and the default location.
 
@RubberDuck ^
 
4:39 PM
@ThunderFrame I think it's the fact that it's Optional that allows the "overload" ;-)
 
@Hosch250 Cool! Which fork/branch should I pull from when I start looking at upgrading lg2?
 
Not yet.
BugBlipper.
@RubberDuck It isn't ready yet.
I'll let you know when it is.
 
4:56 PM
Ok. I won't work off of it, but I do want to get a feel for how invasive the api breakage is.
 
OK.
 
 
5 hours later…
9:45 PM
crap. I need to add some IsByRef and IsOptional members to the Declaration type, and get IsArray into the constructor. this is really starting to stink.
 
10:17 PM
This crap is begging for an inheritance hierarchy
I think I might include that refactoring along with the COM reflection stuff.
Declaration will end up being an abstract class I think
 
10:54 PM
Do you need to get the attributes too? Like IsDefaultMember and Is Enumerable?
How's performance? Still 18ms? ;-p
 
11:15 PM
IDK, I was shoving everything to debug output lol
Shouldn't be too bad anyway.. and I think I can make it async too
Hmm no that would introduce a race condition, better not
I'll think of something
@ThunderFrame might as well. We have it on the roadmap to read these attributes from user code eventually anyway
And I'd love an inspection under "readability & maintainability" that flags implicit calls to default member
 
I've got a few tweaks to make to the clipboard code, then you can add clipboard out for debug purposes.
@Mat'sMug I wonder if the COM Reflection can work on a byte stream of say, a decoded BlackMagic Base64 string? ;-)
 
11:31 PM
that's beyond me
I was thinking of using the source control feature's import/export capabilities to silently export code files to temp files, and parse the exported code files - the grammar already handles attributes.
hmm I don't think I'm handling Params parameters yet
 
Yeah, for modules we have to find a way, and I can think of way that doesn't need to export. I was thinking more of embedded binary, like the WatchDog stuff.
 
lol, I'm no wizard!
 
11:55 PM
aaaand boom, user code's parameters are now ParameterDeclaration instances.
dirty fix though
        private Declaration CreateDeclaration(string identifierName, string asTypeName, Accessibility accessibility, DeclarationType declarationType, ParserRuleContext context, Selection selection, bool selfAssigned = false, bool withEvents = false)
        {
            Declaration result;
            if (declarationType == DeclarationType.Parameter)
            {
                var argContext = (VBAParser.ArgContext) context;
                var isOptional = argContext.OPTIONAL() != null;
                var isByRef = argContext.BYREF() != null;
 
Nice
 

« first day (638 days earlier)      last day (2542 days later) »