cullmann (Christoph Cullmann)
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Wednesday

  • Clear sailing ahead.

User Details

User Since
Jul 30 2015, 8:46 PM (150 w, 3 d)
Availability
Available

Recent Activity

Yesterday

cullmann accepted D13394: C++: update for c++20 and fix some syntax errors.

Looks good for me!
Thanks for the improvements.

Sun, Jun 17, 3:27 PM · Frameworks

Sat, Jun 16

cullmann added a comment to D13394: C++: update for c++20 and fix some syntax errors.

Will take a look ;=)

Sat, Jun 16, 7:59 PM · Frameworks

Thu, Jun 14

cullmann added a comment to D13517: Fix QuickOpen with Qt 5.11 (bug 395039).

Nothing to be sorry about ;=)
Thanks for taking care!

Thu, Jun 14, 6:54 AM · Kate
cullmann accepted D13522: Fix if to actually have a comparison.

Good catch!

Thu, Jun 14, 4:44 AM · Kate
cullmann added a comment to D13517: Fix QuickOpen with Qt 5.11 (bug 395039).

Hmm, we want to have it in master, too, or?

Thu, Jun 14, 4:43 AM · Kate

Wed, Jun 13

cullmann accepted D13517: Fix QuickOpen with Qt 5.11 (bug 395039).

If that change works in old Qt and new, I am happy with it.

Wed, Jun 13, 3:04 PM · Kate

Sat, Jun 9

cullmann added a comment to D12897: Reserve space for the cachedLineForRanges Qhash (optimization).

I wonder if that really makes sense, given not all blocks contain ranges at all and they not really correlate with the block size.
Does that change really make it much faster or just shift the costs?

Sat, Jun 9, 2:45 PM · Frameworks, Kate
cullmann added a comment to D12768: Allow wrapping selection off top/bottom of autocomplete results.

I think the idea was that it is an easy way out of the completion.
I am not sure if wrapping is what one would expect.

Sat, Jun 9, 9:55 AM · KTextEditor, Frameworks, Kate

Thu, Jun 7

cullmann added a comment to D12513: CVE-2018-10361: privilege escalation.

I followed the "I think it was agreed this is an improvement, so i'm going to suggest we commit it." comment from above.
In any case, it is an improvement to the old situation.

Thu, Jun 7, 2:13 PM · Frameworks, Kate
cullmann committed R39:c81af5aa1d4f: CVE-2018-10361: privilege escalation (authored by cullmann).
CVE-2018-10361: privilege escalation
Thu, Jun 7, 2:13 PM
cullmann closed D12513: CVE-2018-10361: privilege escalation.
Thu, Jun 7, 2:13 PM · Frameworks, Kate
cullmann added a comment to D12513: CVE-2018-10361: privilege escalation.

I can push that change, if OK.

Thu, Jun 7, 2:10 PM · Frameworks, Kate

Sun, May 27

cullmann added a comment to D12513: CVE-2018-10361: privilege escalation.

> What should we do with this?

Sun, May 27, 5:28 PM · Frameworks, Kate

Thu, May 24

cullmann accepted D13046: update kate plugins docbook.

> OK

Thu, May 24, 11:22 AM · Documentation, Kate
cullmann accepted D13027: Update shortcuts in kate / katepart docbook.

Ok ;=)

Thu, May 24, 10:55 AM · Documentation, Kate
cullmann added a comment to D13027: Update shortcuts in kate / katepart docbook.

Looks reasonable.
You still work on that or shall I approve?

Thu, May 24, 10:14 AM · Documentation, Kate
cullmann accepted D12984: Update+fix kate menu docbook.

Thanks for the improvements!

Thu, May 24, 8:16 AM · Kate, Documentation
cullmann added a comment to D12984: Update+fix kate menu docbook.

Looks good, beside one thing, but I might be wrong: Wasn't "<guimenuitem>Show Word Count</guimenuitem>" removed again from the menu and added as config item?
We might revert that and add it back, thought.

Thu, May 24, 4:47 AM · Kate, Documentation

May 11 2018

cullmann accepted D9219: WIP: Extend Scripting API.

;=)
Just missed that.
Why not ;)

May 11 2018, 4:40 AM · Frameworks, Kate

May 4 2018

cullmann added a comment to D12016: [ktexteditor] much faster positionFromCursor.

If the stuff still works for you and is fast now, I am still for merging that.
If somebody has time to do a even nicer integration, a new request can be done afterwards.

May 4 2018, 9:12 AM · Frameworks, Kate
cullmann added a comment to D12691: Close Files in the KTextEditor.

Beside that, I am not sure how you handle view deletes, isn't the current view pointer then dangling?

May 4 2018, 4:47 AM · Atelier: General Development
cullmann added a comment to D12691: Close Files in the KTextEditor.

Hmm, of example in the

May 4 2018, 4:44 AM · Atelier: General Development

May 3 2018

cullmann added a comment to D12016: [ktexteditor] much faster positionFromCursor.

Actually, given the functionality is only used there, if that code is in the view or in that helper class makes no real difference, or?

May 3 2018, 7:20 PM · Frameworks, Kate
cullmann requested changes to D12511: optimization of KTextEditor::DocumentPrivate::views().
May 3 2018, 7:19 PM · Frameworks, Kate
cullmann added a comment to D12511: optimization of KTextEditor::DocumentPrivate::views().

If you have benchmark results for that, I have no issues with the idea.
Thought I think you only need to update the cache in add/removeView, not in KTextEditor::DocumentPrivate::createView

May 3 2018, 7:18 PM · Frameworks, Kate
cullmann added a comment to D12662: Add InlineNoteInterface.

Oh, good point by the way: Are you sure this should be an interface to a *view*? Maybe it should instead be attached to the document? I'm not sure, I just want to bring the discussion up.

Actually, I think view might make sense, as you only mess with the layouts and renderer.
But the implementation ATM makes it a interface of the document, or I am mistaken?

May 3 2018, 7:17 PM · Frameworks, Kate
cullmann added a comment to D12675: Fix crash on deconstruction.

Hi, I think the reference to kateviewmanager.cpp is a good hint for how to implement it "correctly".
Unfortunately the proper xmlgui client handling is a bit hard.
You always need to add/remove the clients from your factory.
As you see, kate uses some class to disable updates during that process, to avoid nasty toolbar/menu flickering as comfort feature.
If you properly remove the stuff, no crashs shall happen. At least I am not aware of such issues.

May 3 2018, 7:15 PM · Atelier: General Development

May 2 2018

cullmann added a comment to D12016: [ktexteditor] much faster positionFromCursor.

Hmm, I don't understand that comment?
Now you have one (or more) object per view, or?
That looks sane to me.
Or do I misunderstand how that works?

May 2 2018, 5:56 AM · Frameworks, Kate
cullmann accepted D12016: [ktexteditor] much faster positionFromCursor.

I am ok with it as it is ;=)
I would have been ok with the version that still inherits from QObject, too, but now that one has done all the hassle to avoid that ok ;)

May 2 2018, 5:20 AM · Frameworks, Kate
cullmann accepted D12629: kateproject: add submodule listing support for git projects.

Why not ;=)

May 2 2018, 5:19 AM · Kate

Apr 26 2018

cullmann added a comment to D12513: CVE-2018-10361: privilege escalation.

Any reason you guys decided to not involve security@kde.org ?

I think we all forgot to do that, without any real reason, I drop that address a mail now, thanks for the hint!

Apr 26 2018, 4:44 AM · Frameworks, Kate
cullmann accepted D11685: Implement single click on line number to select line of text.

I have no strong opinions on that, as I am not really using the line numbers in such a way.
But I think it can't hurt to have this in.

Apr 26 2018, 4:44 AM · Frameworks, Kate

Apr 25 2018

cullmann added a comment to D12513: CVE-2018-10361: privilege escalation.

I will ask the openSUSE engineer Matthias Gerstner for feedback before landing this.

Apr 25 2018, 12:09 PM · Frameworks, Kate
cullmann added a comment to D12513: CVE-2018-10361: privilege escalation.

Why dropping syncToDisk? Why is that related to the current issue?

Because it always just worked on a invalid file handle.
QFile(targetFile).handle()
That is just wrong.
One can add it to an other place fixed later if one really needs it.

Apr 25 2018, 10:30 AM · Frameworks, Kate
cullmann added a reviewer for D12513: CVE-2018-10361: privilege escalation: dfaure.

The only thing that is unclear:

Apr 25 2018, 10:14 AM · Frameworks, Kate
cullmann updated the diff for D12513: CVE-2018-10361: privilege escalation.

Should solve all reported issues.

Apr 25 2018, 10:11 AM · Frameworks, Kate
cullmann commandeered D12513: CVE-2018-10361: privilege escalation.

Hi, I propose this variant, that should remove all issues report.

Apr 25 2018, 10:09 AM · Frameworks, Kate

Apr 16 2018

cullmann accepted D11902: Add highlighting for GDB command listings and gdbinit files.

Given we have unit tests + the static checker is happy (I assume), feel free to commit.

Apr 16 2018, 9:04 AM · Frameworks

Apr 15 2018

cullmann closed D7175: Redesign CMake syntax.

This is already pushed ;=)

Apr 15 2018, 12:31 PM · Frameworks
cullmann committed R39:4d91fa7e918d: Fix problem that font/italic/... attributes no longer work with e.g. >= Qt 5.9 (authored by cullmann).
Fix problem that font/italic/... attributes no longer work with e.g. >= Qt 5.9
Apr 15 2018, 12:02 PM
cullmann added a comment to D12221: Fix problem that font/italic/... attributes no longer work with e.g. >= Qt 5.9.

Perhaps the fix is only a hack, but at least it solves the issue for me on my company workstation ;=)
I was confused what did look strange after the upgrade, until I noticed the missing bold keywords.

Apr 15 2018, 11:58 AM · Frameworks, Kate
cullmann closed D12221: Fix problem that font/italic/... attributes no longer work with e.g. >= Qt 5.9.

Git commit 4d91fa7e918d983e6569798dfe20c7c9faf4bb9e by Christoph Cullmann.
Committed on 15/04/2018 at 11:36.
Pushed by cullmann into branch 'master'.

Apr 15 2018, 11:41 AM · Frameworks, Kate
cullmann added a comment to D12221: Fix problem that font/italic/... attributes no longer work with e.g. >= Qt 5.9.

Btw there are bug reports for this. Could you link the Kate related ones, if existing?

I failed to find them :(
I remembered that this was brought up some time ago, but I had no time to take a look at that time.
And now I no longer find the mails/bugs :P

Apr 15 2018, 11:41 AM · Frameworks, Kate
cullmann accepted D7175: Redesign CMake syntax.

Yes, please push your change.
Thanks for the work!

Apr 15 2018, 11:13 AM · Frameworks
cullmann committed R216:9feb73b7222c: Add syntax highlighting for Logcat (authored by nibags).
Add syntax highlighting for Logcat
Apr 15 2018, 11:11 AM
cullmann closed D11851: Add syntax highlighting for Logcat.
Apr 15 2018, 11:11 AM · Framework: Syntax Highlighting, Frameworks
cullmann requested review of D12221: Fix problem that font/italic/... attributes no longer work with e.g. >= Qt 5.9.
Apr 15 2018, 11:06 AM · Frameworks, Kate

Apr 9 2018

cullmann added a comment to D12016: [ktexteditor] much faster positionFromCursor.

You can use a mutable member for that.

Apr 9 2018, 11:13 AM · Frameworks, Kate
cullmann added a comment to D12016: [ktexteditor] much faster positionFromCursor.

Hi, must the variable be static or would an object member be good enough?

Apr 9 2018, 11:10 AM · Frameworks, Kate

Apr 8 2018

cullmann added a comment to D7909: Add syntax support for Crystal Programming Language.

And the auto-test does have diffs like:

Apr 8 2018, 9:58 AM · Kate, Frameworks, Framework: Syntax Highlighting
cullmann requested changes to D7909: Add syntax support for Crystal Programming Language.

Ah, I let just the build run once more locally, the current static check says:

Apr 8 2018, 9:57 AM · Kate, Frameworks, Framework: Syntax Highlighting
cullmann added a comment to D7909: Add syntax support for Crystal Programming Language.

Great!, This is my first contribution to The KDE project, I'm very happy you accepted it! :)

I assume that means I shall push?
:=)

Apr 8 2018, 9:54 AM · Kate, Frameworks, Framework: Syntax Highlighting
cullmann added a comment to D11785: Add kcolorschemechooser support and related setting menu entry.

instead of duplicating it further, could we move the code into ktexteditor and make it reusable from there?

Yep, +1 for that.

Apr 8 2018, 9:25 AM · Kate
cullmann accepted D11851: Add syntax highlighting for Logcat.

I think it looks ok, no hard-coded colors, it seems to pass the basic static checks and we have a testcase.
I would more like to have a test case in plain english, but the text just seems to be some random excert out of some old book, if google translate doesn't cheat me.

Apr 8 2018, 9:21 AM · Framework: Syntax Highlighting, Frameworks
cullmann requested changes to D12016: [ktexteditor] much faster positionFromCursor.

Hi,
I appreciate the intend to speed this up.
But I think, to do this proper, it might make more sense to cache the current position in the KateViewAccessible and invalidate it on changes to the document.
The way you do it now, it might not be correct if text changes occur in-between. (if I don't overlook something)

Apr 8 2018, 9:16 AM · Frameworks, Kate
cullmann added a comment to D7245: Improve reStructuredText highlighting.

Sorry, for the tests: inside the autotests, there is input/reference/html
Just add your testcase in input, run the tests, take a look at the results and check them in as references.

Apr 8 2018, 9:14 AM · Frameworks
cullmann accepted D7909: Add syntax support for Crystal Programming Language.

The hard-coded colors got removed, test is there, all fine.
Thanks for the contribution!
If you can't push youself, tell me, I will push for you.

Apr 8 2018, 9:12 AM · Kate, Frameworks, Framework: Syntax Highlighting

Apr 5 2018

cullmann accepted D11941: Make it possible for KTextEditor to build on Android NDK's gcc 4.9.

If that stuff is not around, why not, better than no compilation.
Thanks for taking care!

Apr 5 2018, 4:51 AM · Frameworks, Kate

Apr 4 2018

cullmann accepted D11822: Make the word/char count a global preference.

Yeah, makes sense.
Thanks for the contribution.

Apr 4 2018, 6:04 AM · Frameworks, Kate
cullmann added a comment to T6857: Falkon Incubation.

Sure, perhaps Kevin as "Manifesto" expert can take a short look if he thinks all is in order?
I am not aware of any issues, but perhaps a second opinion would be good.

Apr 4 2018, 5:08 AM · Falkon

Apr 3 2018

cullmann added a comment to D11838: Turn on line numbers by default.

I think allowing a own configuration per hosting application makes sense.
But I would propose to do this "opt-in".
We could add some application wide flag in the config that triggers "application local" storage, that is default off.
The KTextEditor config pages could allow to change it, if e.g. Kile wants to have this on per default, it just needs to adjust the default by shipping a default kilerc.

Apr 3 2018, 11:24 AM · Frameworks, Kate

Mar 26 2018

cullmann added inline comments to D11183: Sonnet: don't impose the default client.
Mar 26 2018, 12:17 PM · Frameworks

Mar 23 2018

cullmann accepted D11487: optimization of TextLineData::attribute.

Yep, makes sense.
Thanks for the improvement.

Mar 23 2018, 4:33 PM · Frameworks, Kate

Mar 22 2018

cullmann added a comment to D11487: optimization of TextLineData::attribute.

For the sorting/overlapping question: actually the HL code should ensure there are neither overlaps nor unsorted entries.
And I think if there are, already now "strange" things happen, as normally the first item would win.

Mar 22 2018, 5:43 AM · Frameworks, Kate

Mar 21 2018

cullmann added a comment to D11487: optimization of TextLineData::attribute.

Ok, that is true, for the "degenerated" very long line case it makes sense to do the binary search.
But I don't think you should do that on your own, lower_bound is good enough, we use that for other things like the folding, too, if I am not mistaken.

Mar 21 2018, 12:16 PM · Frameworks, Kate
cullmann added a comment to D11487: optimization of TextLineData::attribute.

I still am not that convinced that binary search helps for vectors which normally have only << 10-20 elements for normal long text lines.
But I would be ok with some range based for variant, as the loop with index increment is even ugly without any speed in mind ;=)

Mar 21 2018, 6:14 AM · Frameworks, Kate

Mar 20 2018

cullmann added a comment to D11487: optimization of TextLineData::attribute.

Hmm, does it really get that much faster or is the stuff just moved to the subroutines?
I would not have thought that something is faster than simple linear scan for a short vector.

Mar 20 2018, 1:50 PM · Frameworks, Kate

Mar 19 2018

cullmann added a comment to D11487: optimization of TextLineData::attribute.

Looks reasonable.
Could one use a C++11 range-based for?
Given the container is const in that context, it won't detach, or?

Mar 19 2018, 2:52 PM · Frameworks, Kate

Mar 18 2018

cullmann committed R39:5cbf903622c7: don't pollute the clipboard history with dupes (authored by cullmann).
don't pollute the clipboard history with dupes
Mar 18 2018, 12:42 PM
cullmann requested changes to D11278: [KateCompletionWidget] Create configuration interface on demand.

If we want that, one needs to take care of the config loading/initial setup of the m_presentationModel in a different way than relying on the config widget to do it.

Mar 18 2018, 12:35 PM · Frameworks, Kate
cullmann reopened D11278: [KateCompletionWidget] Create configuration interface on demand.

Git commit 7f3d9e774129618dfb9fd871d5d5c8fbb66b4d9a by Christoph Cullmann.
Committed on 18/03/2018 at 12:33.
Pushed by cullmann into branch 'master'.

Mar 18 2018, 12:35 PM · Frameworks, Kate
cullmann committed R39:7f3d9e774129: Revert "[KateCompletionWidget] Create configuration interface on demand" (authored by cullmann).
Revert "[KateCompletionWidget] Create configuration interface on demand"
Mar 18 2018, 12:34 PM
cullmann added a reverting change for R39:92e21fb03b7f: [KateCompletionWidget] Create configuration interface on demand: R39:7f3d9e774129: Revert "[KateCompletionWidget] Create configuration interface on demand".
Mar 18 2018, 12:34 PM
cullmann added a comment to D11278: [KateCompletionWidget] Create configuration interface on demand.

Perhaps one has not thought about the side-effects of the construction of the KateCompletionConfig.
It looks like it does a readConfig and that triggers applyInternal() which in return will configure the m_presentationModel.
I will revert this commit for the time being.

Mar 18 2018, 12:33 PM · Frameworks, Kate

Mar 13 2018

cullmann accepted D11278: [KateCompletionWidget] Create configuration interface on demand.

I think it is ok that way, too ;=)

Mar 13 2018, 11:08 AM · Frameworks, Kate

Mar 5 2018

cullmann added a comment to D4911: add Baloo DBus signals for moved or removed files.

I did some test today on tbaloo and noticed one problem when fetching the results from a query. The paths are encoded like URLs but without the scheme. I had to modify my code to use it. Apart from that, nice work. It just works. Are you still interested to work on that ?

I would be willing to work more on that, if there is consensus that it should replace baloo and we use the synergy with tracker instead of doing all things tracker does just once again for the sake of it (beside running in all the same security problems).
But until now, that doesn't look like there is such a consensus.

Mar 5 2018, 8:54 AM · Baloo, Frameworks

Feb 26 2018

cullmann accepted D10873: Initialize value.

Default is 1, in readConfig, given that should overwrite it, leave it 0 or change it to 1 if you like.

Feb 26 2018, 4:52 PM · Frameworks, Kate

Feb 25 2018

cullmann accepted D10311: Projects plugin: fix git file listing for umlauts such as äöü.

Btw., if you want to see the joys of utf-8 on Windows, read: http://utf8everywhere.org/

Feb 25 2018, 11:32 AM · Kate
cullmann added a comment to D10311: Projects plugin: fix git file listing for umlauts such as äöü.

Windows never uses UTF-8 ;=) Even NTFS uses UTF16/UCS2, but not UTF-8.
But git always uses utf-8 for its stuff.

Feb 25 2018, 11:27 AM · Kate

Feb 13 2018

cullmann added a comment to D10054: Fix: View jumps when Scroll past end of document is enabled.

No idea ;=)

Feb 13 2018, 8:03 PM · Frameworks, Kate
cullmann reopened D10054: Fix: View jumps when Scroll past end of document is enabled.

Then lets reopen it.

Feb 13 2018, 7:58 AM · Frameworks, Kate

Feb 11 2018

cullmann added a comment to D10415: Fix realDpi function for Mac.

I think they are not exactly the same. physicalDotsPerInchY() would give twice difference in the resolution depending on whether one uses the native or HiDPI mode. But logicalDpiX()/logicalDpiY() would return the same value in both cases.

No, I meant: if the logical variant works for us here, the physical variant should work fine, too.
That they not give you the same results in all cases is clear, given they are logical vs. physical.

Feb 11 2018, 12:55 PM · Okular
cullmann added a comment to D10415: Fix realDpi function for Mac.

I would go for the Qt functions, as their results are consistent with what Qt itself will later use anyways.
My only nitpick is why one goes over QScreen and not just asks the widget.

Feb 11 2018, 12:52 PM · Okular
cullmann added a comment to D10415: Fix realDpi function for Mac.

In our company we use the logicalDpiX()/logicalDpiY() on the widget we paint to, that works on macOS, too.

Feb 11 2018, 11:52 AM · Okular

Feb 6 2018

cullmann added a comment to D10311: Projects plugin: fix git file listing for umlauts such as äöü.

I just tried in on Windows, its UTF-8.
If it is UTF-8 even there, we should just convert from that instead.

Feb 6 2018, 6:36 AM · Kate

Feb 5 2018

cullmann added a comment to D9175: Migrate some more QRegExps to QRegularExpression.

I think beside the

Feb 5 2018, 8:26 PM · Frameworks, Kate
cullmann edited reviewers for D7864: Basic support for PHP and Python fenced code blocks in Markdown, added: Framework: Syntax Highlighting, vkrause; removed: KTextEditor.

+1, Volker, ok to go in?

Feb 5 2018, 8:22 PM · Frameworks
cullmann requested changes to D5673: Add option to reload a file without user confirmation after the execution of a external script.

Why not, if it helps some people's workflow.

Feb 5 2018, 8:21 PM
cullmann added a comment to D7175: Redesign CMake syntax.

If the new highlighting better covers what CMake has around on features now than the old, I am for adding the new one.

Feb 5 2018, 8:20 PM · Frameworks
cullmann added a comment to D10311: Projects plugin: fix git file listing for umlauts such as äöü.

Hmm, is the encoding of the file names then the local 8 bit variant? Or is it utf-8 everywhere?
On Windows I am always bit confused when to use local8Bit.

Feb 5 2018, 8:04 PM · Kate

Feb 2 2018

cullmann added a comment to D4911: add Baloo DBus signals for moved or removed files.

@cullmann: T7860 lists some of my observations wrt samba shares. I don't know NFS, can you enlighten me regarding deviceids and inodes on NFS?

Feb 2 2018, 12:25 PM · Baloo, Frameworks

Jan 28 2018

cullmann committed R39:2d6a2b517868: improve line heigh computation try to avoid cutting of parts of glyphs (authored by cullmann).
improve line heigh computation try to avoid cutting of parts of glyphs
Jan 28 2018, 8:24 AM
cullmann closed D10145: Improve line height.
Jan 28 2018, 8:24 AM · Frameworks, Kate
cullmann added a comment to D10145: Improve line height.

Thanks for testing, will apply that then now ;=)

Jan 28 2018, 8:22 AM · Frameworks, Kate

Jan 27 2018

cullmann added a comment to D10145: Improve line height.

Either this patch can improve that or make it worse ;=)
I tried out some .desktop file with different translations inside that have "complex" glyphs and I think it works better now.
If you have time to test that, it would be great.

Jan 27 2018, 3:55 PM · Frameworks, Kate

Jan 23 2018

cullmann accepted D10058: KateView unit test: simplify finding KateViewInternal.

Less duplication => good!

Jan 23 2018, 10:56 PM · Frameworks, Kate
cullmann accepted D10054: Fix: View jumps when Scroll past end of document is enabled.

Yeah, logic did seem to be flawed.
To only look at the line makes sense.

Jan 23 2018, 10:56 PM · Frameworks, Kate

Jan 13 2018

cullmann committed R241:edf79981b447: fix compile on macOS (missing SOCK_NONBLOCK) (authored by cullmann).
fix compile on macOS (missing SOCK_NONBLOCK)
Jan 13 2018, 8:47 PM
cullmann closed D9867: Fix compile fail on macOS.
Jan 13 2018, 8:47 PM · Frameworks
cullmann committed R283:2cc7abc7f615: Fix linking regression introduced by (authored by cullmann).
Fix linking regression introduced by
Jan 13 2018, 8:24 PM