« first day (1720 days earlier)      last day (1460 days later) » 
00:00 - 22:0022:00 - 00:00

12:01 AM
RELOAD!
[rubberduck-vba/Rubberduck] 48 commits. 1 opened issue. 23 closed issues. 13 issue comments. 28567 additions. 15293 deletions.
[skiwi2/MagicParser] 2 commits. 493 additions. 6 deletions.
 
@this I was referring to the phrase "this makes it impossible to automatically fix a large number of things that has an auto-fix" in the comment.
@AlexisDuque I think you probably want to git fetch upstream, then git merge upstream/next.
 
12:33 AM
WTF? The merge on #4769 pulled in a bad "fix" for #4791 that wasn't even in that branch.
 
$ git merge https://github.com/rubberduck-vba/Rubberduck/next
merge: https://github.com/rubberduck-vba/Rubberduck/next - not something we can merge
 
@AlexisDuque Did you set up your upstream repository?
 
OK, what's the output of git remote -v?
(without the question mark on the end)
 
origin https://github.com/D3vlin/Rubberduck (fetch)
origin https://github.com/D3vlin/Rubberduck (push)
 
12:37 AM
git remote add upstream https://github.com/rubberduck-vba/Rubberduck.git
 
Ready
 
git fetch upstream
Then you'll want to confirm the output of git branch
 
Hi, @AlexisDuque.
 
If you didn't start a branch for your changes, you should only have next.
 
I only have the master branch
 
12:40 AM
Hmmm... let me check your repo really quick.
 
That's odd, because your origin says it's only "74 commits behind rubberduck-vba:next."
Can you copy and paste the git branch output?
 
Oh, just paste it here so I can see it.
 
$ git branch
* master
 
12:45 AM
> This somehow got sucked into #4769 and shouldn't have been in the merge.
 
@AlexisDuque what does git remote have for output?
Just checking that your upstream was set.
 
Hmm... that doesn't look right.
 
$ git remote
origin
upstream
 
What you you get with: git checkout next
 
$ git checkout next
Checking out files: 100% (228/228), done.
Switched to a new branch 'next'
Branch 'next' set up to track remote branch 'next' from 'upstream'.
 
12:48 AM
OK, I'm trying to think of the best way to do this... @Hosch250? Any ideas?
I don't think we want to merge next into local master.
 
Rebase.
 
rebase master?
 
Just use VS's rebase tool and rebase the current branch onto whatever branch you want to work off of, I guess?
What exactly are you trying to do anyway?
(Also, don't do that until I find out :P)
 
The changes are apparently on master, not next.
 
Mathieu Guindon
yst 2:34 AM
@AlexisDuque FYI the merging of PR#4699 may be causing a conflict in the hard-coded list of languages (the PR includes some changes nearby); you'll want to grab the remote version and re-add the line for Spanish -- sorry for inconveniences
 
12:50 AM
Yeah, rebase it onto next.
It should detect that all commits from master are in next.
The other option is to create a new branch based on next.
 
so git check next, git rebase master?
 
Then cherry-pick each new commit.
Yes, something like that.
TBH, though, I'd probably do the cherry-pick option.
 
What about git checkout next git merge master
 
It's safer, and probably faster at the end of the day too.
@Comintern That would work too.
You'd get a merge commit, though.
 
Meh.
@AlexisDuque OK, make a backup of the entire folder really quick.
 
12:54 AM
$ git branch
master
* next
 
OK, perfect.
Now:
git merge master
 
$ git merge master
fatal: refusing to merge unrelated histories
 
damnit.
OK, this is where it gets fun.
git checkout master
git merge next
That might scroll for a while...
 
$ git merge next
fatal: refusing to merge unrelated histories
 
WTH?
Try git merge upstream/next
 
1:01 AM
$ git merge upstream/next
Already up to date.
it works in the next branch
 
Did you do that in next, or in master?
 
Next
 
OK.
git checkout master.
I think we do need a rebase.
git rebase upstream/next
 
[rubberduck-vba/Rubberduck] build for commit 7acfedb3 on unknown branch: AppVeyor build succeeded
 
$ git rebase upstream/next
First, rewinding head to replay your work on top of it...
Applying: The .Resx files translated into Spanish, Spanish language added to Build.iss, file created: Spanish.CustomMessager.iss
.git/rebase-apply/patch:26: trailing whitespace.
# the diff markers are never inserted). Diff markers may cause the following
.git/rebase-apply/patch:55: trailing whitespace.
#
.git/rebase-apply/patch:57: trailing whitespace.
# is only available from the command line. Turn it on by uncommenting the
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
 
1:08 AM
That's the stuff.
Is it completed?
 
Auto-merging RubberduckTests/VBEditor/Utility/SelectionServiceTests.cs
CONFLICT (add/add): Merge conflict in RubberduckTests/VBEditor/Utility/SelectionServiceTests.cs
Auto-merging RubberduckTests/UnitTesting/ViewModelTests.cs
CONFLICT (add/add): Merge conflict in RubberduckTests/UnitTesting/ViewModelTests.cs
Auto-merging RubberduckTests/UnitTesting/EngineTests.cs ....
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 The .Resx files translated into Spanish, Spanish language added to Build.iss, file created: Spanish.CustomMessager.iss
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
~/Desktop/Rubberduck-next (master|REBASE 1/1)
 
OK, resolve the conflicts within VS now, I guess?
It's looking better, though.
 
That's what I'm thinking.
 
I would've just done the rebase with VS's UI.
Or, cherry-picked the individual commits.
 
After the conflicts are resolved, you'd want to push that into origin/next, not master.
I think that would be git push origin master:next
After that (and confirming that the PR has the correct diff) I'd probably pull a new clone to make sure you don't have commits sitting in local/master.
 
1:50 AM
[rubberduck-vba/Rubberduck] comintern pushed commit 7acfedb3 to next: revert inadvertant commit.
Merge pull request #4813 from comintern/bugfix

revert inadvertant commit.
[rubberduck-vba/Rubberduck] bclothier did something with some project card
 
2:05 AM
> What we have here is a failure to reproduce. 😆

Tried it out on Excel 2016 64-bit using the provided keys. Could not reproduce, so going to close. Please do reopen if it happens again. Hopefully not.
[rubberduck-vba/Rubberduck] build for commit 3d870f7d on next: AppVeyor build succeeded
 
2:48 AM
 
@Duga woot! +2!
 
3:09 AM
sanity check:
Public Sub aabc()

End Sub
in a standard module -- should that yield a procedure not used inspection?
looks like if I make it private, it does get inspected.
 
3:28 AM
@this pretty sure if they're ignored, it was a work-around to shut off false positives for public macros... things like this make a good case for per-inspection settings =)
 
yeah, that's what I thought.
 
3:48 AM
just so I understand - why would one have an auto_open procedure when the same thing can be done using workbook events?
Memo to myself: Use Google, Luke.
 
4:43 AM
@this Was unaware of that. There's just so much to learn...
 
5:26 AM
@IvenBach autoexecs are bad for you, mkay?
 
Automagic stuff is bad for me. I'm getting my rump kicked by the RD code base right now...
I'm loosing my mind over how to figure out displaying a hotkey combo.
 
what do you have so far?
 
        public string ToHotkeyTooTipDisplay()
        {
            var sb = new StringBuilder();

            if (HasCtrlModifier)
            {
                sb.Append("Control");
            }

            if (HasShiftModifier)
            {
                sb.Append(sb.Length > 0 ? "+Shift" : "Shift");
            }

            if (HasAltModifier)
            {
                sb.Append(sb.Length > 0 ? "+Alt" : "Alt");
            }

            if (Key1.Length > 0)
            {
                sb.Append(sb.Length > 0 ? $"+{Key1}" : Key1);
 
If it's any consolation, I'm losing my marbles with VS refusing to build.
 
At least you had marbles to begin with...
 
5:33 AM
FWIW I would probably use Ctrl as that's more common in menu where space may be limited.
(it probably may need to be localized but we can deal with it later)
 
1) Make it work <-- still stumped on this.
HotkeySetting is where started.
I'm trapped down the rabbit hole of instantiation right now. Trying to figure out where the menu items and menu parents are getting instantiated.
 
they aren't, at least not directly
that's handled by CW
 
Part of IoC.
 
let's start with menu items as that's easier to handle
 
I've gone all the way down to the Startup() invocation and followed the stack back up.
 
5:35 AM
in the menu item, you should simply just set the ShortcutText
 
That's what I can't figure out.
 
Ok -
 
I see it. That it's something I can use.
But when I followed the call stack for instantiation it lead me to...
 
The items coming in are being instantiated via Castle.Windsor. I tried to check an individual item in the immediate window _items.ElementAt(0).Key.ToolTipText but it comus up with an invocation list that's null.
 
5:42 AM
might be for a menu item w/ no children
 
The first one that comes in is the RubberduckMenu_UnitTests and from my digging last night that has...
5 children from what I recall.
RunAllTestsCommand, TestExplrorerCommand, AddTestModuleCommand, AddTestMethodCommand, AddTestMethodExpectedErrorCommand.
From what I've seen there's no ToolTipText for any of the IEnumerable<IMenuItem> items that are passed into the constructor.
AFK for a bit. Getting duckling prepped for the nest and sleep.
 
Note that ToolTipText != ShortcutText
 
5:57 AM
Yes. IMenuItem doesn't have that member defined.
Are you referring to the CommandBase.ShortcutText property?
 
Yes, see the link I cited above
note the todo there
I think I see why you're having problems. We're looking at it backward.
You can see that a hotkey takes a command as a DI parameter
 
I'm having problems since I'm dealing with a lot of elements I don't fully understand.
 
so therefore, you should modify that to configure the command's property or maybe expose a method on the command for the hotkey to call and thus indirectly set the ShortcutText on a menuitem.
 
Would that be like a CommandBase.SetShortcutKeyCombination(bool usesControlModifier, bool usesShiftModifier, bool usesAltModifier, string key)?
 
6:13 AM
probably just string shortcutText but yeah
 
Ok. I'm getting a vague idea of how to do that.
Traipsing around the RD sausage factory doesn't scare me as much anymore. At the very least I can navigate and understand some of what's being done.
 
hmm didn't know ducks were into sausages.
 
IIRC ducks'll eat anything edible you toss at them. Pepperoni, sausage, chicken, even duck meat.
Thought that was the funniest think as a nose-picking young one. "Tee hee these ducks are cannibals. They eat duck."
 
and here I thought they only did breads and fish
 
Grandma wasn't too amused over it and tried to #TeachMeALesson that I obviously didn't learn.
 
6:20 AM
 
lol
 
> Added one more fix for #2799
 
6:38 AM
Thanks again for the help. I'll keep at it till I understand and can begin implementing some attempts.
 
[rubberduck-vba/Rubberduck] build for commit 7ae947ce on unknown branch: AppVeyor build succeeded
 
6:59 AM
#TIL in VS you can RightClick on a tab name>Open Containing Folder. A godsend when I want to find out wherein the code base F12 takes me to.
isBrainFried = true;
if (isBrainFried)
{
    GoToBed().Invoke;
}
night pond</iven>
 
 
6 hours later…
12:51 PM
 
 
2 hours later…
3:07 PM
yay keys day
 
@IvenBach There's also a button on the Solution Explorer toolbar to "Sync with Active Document". I usually find that more useful than opening the file in Windows Explorer.
 
#TIL: PPT has auto macros, with few more "events".
 
Do we have special handling for auto_foo anywhere?
 
we do now.
 
:-D
 
3:16 PM
9 hours ago, by Duga
> Added one more fix for #2799
I should be more precise - we will once it's merged w/ the next.
The next/master currently only handles Excel's auto_open/auto_close and no more.
 
The RenameRefactoring already special cases them.
 
Oh?
 
Should those be all lower case? Auto_Open and Auto_Close seem better.
 
examples of Excel seems to be lower case but we ignore cases
 
Interesting. I was thinking of a use case where we'd insert one though.
 
3:21 PM
@M.Doerner If there are other places, we may need to rethink the design. In the fix from last night, I provided a more general approach for handling any auto macros from any hosts.
Hmm. Need to test if Excel in fact ignores the cases. (I expect it will but I've Microsoft products do silly things)
 
Just tested - it is indeed case insensitive.
 
:+1:. I would be fine with Auto_Open - auto_open really looks out of place.
 
An inspection for Auto_Foo outside a standard module might be in order.
 
that depends on host. :(
in Werd, it is legal to have it in a document module.
 
We do host specific.
 
3:26 PM
why be?
just get IHostApplication.AutoMacros for the inspection.
 
Oh sure. I was just pointing out that making the inspection specific to the host isn't difficult.
It would probably be more difficult to track down the "rules".
 
That's why I think it belongs to IHostApplication
Word and Excel has different rules, and apparently so does PPT.
 
I'd agree. Doesn't Access have those?
 
not as a VBA constructs.
e.g. create a AutoExec Access Macro, add a single macro action RunCode and call whatever.
(and remember Access "Macros" ≠ Excel/Word/PPT "Macros")
 
Come to think of it, that would be odd in a database anyway.
 
3:31 PM
If it's used like a database, I'm not sure it will run.
As an application, definitely if it's defined.
but like others, can be bypassed by holding shift down.
Gonna love Microsoft's semi-consistency
 
I'm trying to think of what that would be useful for.
 
@this it's legal, but does it work in a standard module too? if it does, then I see no harm in a host-agnostic inspection that whines about Auto_Something in a class/document module.
 
@MathieuGuindon yes it does
@Comintern typical use cases involve opening a form (even though there's a property for it, running some cleanup routine such as clearing temporary tables or checking for linked tables
 
OK, that makes more sense. I'm too used to SQL Server I guess.
 
Right - Access is both a database and application package rolled in one.
 
3:38 PM
For some values of "database".
 
Yeah, it's not that great of a database. It's much more better as an front-end application
 
Although Excel is often used as both a database and application package rolled in one gooey blob of bad idea.
 
IKR?
 
personally, i just roll any initializations into my startup form
well... for access.
 
so do I.
 
3:40 PM
i dont use that autoexec nonsense if i can help it
 
I don't like macros very much personally.
 
im 100% sure we are on the same page with macros then
they can die in a great burny fire of GTFO
 
4:14 PM
posted on February 20, 2019 by CommitStrip

 
4:35 PM
@this The refactoring basically does not allow to rename declarations starting with auto_.
 
That wouldn't work with Word - it does not use the _.
And in Access, that is entirely meaningless.
 
I did not invent that check, I just refactored the class.
Still have to PR the refactoring though.
 
Yeah, this may need to be its own issue / PR anyway.
Who knows where else similar checks exists.
 
Btw, refactoring the refactorings turns out to be a lot more work than anticipated.
 
4:51 PM
there is an amount of irony when the refactorings themselves is hard to refactor.
But I'm sure the tech debt payment will be very helpful in making them more consistent.
 
 
2 hours later…
6:30 PM
 
Hmm. Interesting. It took 7-10 seconds just to clear search from CE...
 
That doesn't sound right.
 
ermagherd, being sick is such a pain
 
It's intermittent, though.
 
yea, that's the good part.
at least I am / was able to actually use my computer today
not so much yesterday and monday
 
6:41 PM
At least you're still alive
 
yea, that's a good point as well :)
thanks for the cleanup spree with the GH issues, btw
 
NP. even though a lot of those are feature requests, managing that many open issues is getting to be a chore
 
7:02 PM
> Ref #2799 and #4784

The bugfix introduces a `HostAutoMacro` struct that provides a description of signatures that different hosts may treat specially. It is still attached to a `IHostApplication`, however. It is known that the rename refactoring has some code that checks the `auto_` naming. There may be other similar check scattered in the RD codebase which should be consolidated.

The original reasoning behind attaching the structs to the `IHostApplication` was to remove the need to de
 
Learned several new windows function thanks to the calendar post by Rout.
:+1: for dry-humor hovertext
Ctrl+- should replicate Last Position like in VS.
I'm getting too used to the navigation hotkey is VS and the lack thereof in VBA is bothering me more...
 
7:17 PM
After startting to work on the refactoring I had the suspicion that ReorderParameters is broken and it really is.
The user is supposed to be asked for confirmation before switching the target to an implemented interface.
However, the previous refactoring PR has changed the confirmation request to raise an event on the model handled by the view model insted of using a msgBox in the refactoring.
Problem is, at the point of the request, no view model is attached to the model.
The requst happens during the construction of the model.
Currently, I do not really know how to fix this timing mess.
 
oh no.
i'm sorry
which line is this?
 
It gets invoked in the call originating from the line you linked.
 
yeah i see
i don't think this belongs on the model.
 
Before the presenter gets created, there is no view model.
 
I think this needs to be converted into just data
e.g. set a flag indicating that htere's an interface or something
and let the view model act accordingly
model should have no UI concerns
 
7:32 PM
For RenameRefactoring I still have the logic in the refactoring itself.
 
That would work, too, though I question whether refactoring classes should have any UI concerns.
 
Finding the target has to be extracted from the models anyway.
They should not.
 
I think I agree. That's refactoring's concern (finding the target, not the UI)
model should be dumb as possible.
 
However, they might want to promt for confirmation in some situations.
I will have to refactor the tests first though.
 
Sure, but that's not their problems - they should just flag any concerns
 
7:34 PM
Otherwise, that change is a nightmare in the tests.
 
then let view model act on those concerns
 
That makes sense.
 
sorry for making a mess.
 
More redesign to implement :-(
Before, it was probably even more messy.
 
That's the thing about cleaning up.
While you are cleaning, the environment becomes much more messier
hopefully at the end of cleaning, it will be much cleaner before we started.
 
7:36 PM
I do not think the call sequence in the rename refactoring could become messier.
What it did was actually quite consistent with the other refactorings; it just did it in a very convoluted way.
 
8:05 PM
Frankencode = trashy results.
You're opening 3 instances of Acrobat but only using one of them. ac.CloseAllDocs does absolutely nothing because you only use gapp to actually do any work. I'd suggest cleaning out all the dead code first, use a sane set of variables, only instantiate objects you intend to use, and then go from there. — Comintern 47 secs ago
 
8:32 PM
@Comintern I bet that came about by gratuitous amount of copy'n'pasting with some stirring.
 
8:46 PM
this is a great answer:
20
A: How to encourage team to refactor

candied_orangeDo not ask management for permission to refactor. It's none of their business. You might as well be asking permission to sharpen a pencil. Management doesn't understand refactoring. It's not a business need. Management shouldn't need to understand it. It's not their job. It's yours. Refactorin...

 
Using windows api calls to update a menu bar shouldn’t make me smile this much, but it does.
I’m finally comfortabke with hex notation.
 
@IvenBach keep at it, and before you know you'll be hijacking the VBE's intellisense! :)
 
@MathieuGuindon why yes, I do think I'm a great answer, thank you!
 
Every day I try to learn a little more. Still need examples to understand the docs on a few of them. One day I’ll be hijacking along with the pond.
 
Seriously, that's a good answer and I think it makes lot of sense, though I can see challenges when management start to wonder why the team is doing so much "unproductive" work.
 
8:58 PM
Coding for an hour to solve the problem was only possible by the 4 hour investment building tool.
 
9:23 PM
@IvenBach Keep it up and you'll be subclassing all the things.
Pro-tip: Save your work.
> Did you mean to go to http://worksheet.printout/?
Gee, thanks for the offer Chrome, but um, no.
 
@Comintern Learned that long ago... Lost 2 weeks worth of work 'cause if it too. #NotAGoodDay
 
Hi guys
I have solved some conflicts, how can I validate which ones are missing?
 
You still have merge conflicts?
 
It is what I want to validate.
I'm in the branch (master|REBASE 1/1)
 
Easiest way is from inside of VS. If you go to the Team Explorer and select "Changes", it will show the merge conflicts there if there are any.
 
I see
 
9:53 PM
@Duga Good question - I only modified the ordering but not the substance. I assumed there was a reason to use the query syntax
Can we assume that query syntax and the LINQ are always equivalent?
 
No. Query syntax is not equally easy to read.
 
LOL. I was referring more to the functionality
 
That particular section might be a little contorted using the "readable" syntax though.
 
don't want to get surprised by subtle change in the behavior between the two styles.
 
R# should translate it, no?
 
9:58 PM
it didn't flag it, IIRC
I do take R#'s suggestions to convert to LINQ whenever I see it.
 
It wouldn't have, but I'm pretty sure there's a refactoring for it.
 
I see. That's probably why I assumed there was a subtle difference between the two styles
 
Oh wow, it's all over that module.
 
@this query syntax compiles down to method syntax
 
since it did not get flagged by R#, so thought R# knew more than I do.
 
00:00 - 22:0022:00 - 00:00

« first day (1720 days earlier)      last day (1460 days later) »