Author Topic: SlickEdit on MacOS  (Read 310 times)

GaryFerland

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
SlickEdit on MacOS
« on: December 06, 2017, 08:59:29 pm »
I have the trial version of SlickEdit 2017 Pro and am on MacOS 10.13.1.  i have tried running vsdiff from the command prompt by including /Applications/SlickEditPro2017.app/Contents/MacOS on my path.  Mostly it works.

Two concerns, one a major usability issue.  The bigger problem is that the app does not save state when I quit.  In vsdiff go to options and under Date and Size Optimization I want (really want) "always compare files" when doing a directory comparison.  i . set this then click on "save options" and it works, until I quit the app.  When I restart it the options have gone back to "assume match if date and size match" which is fatal in what I am doing.  Is there a way to permanently set this option?

Another problem, possibly related, is the host of debug prints in the teminal used to launch it.  The first set are
2017-12-06 15:45:56.307 vs[39224:25971801] Got a gesture event of 18
2017-12-06 15:45:56.307 vs[39224:25971801] Got a gesture event of 30
2017-12-06 15:45:56.318 vs[39224:25971801] Got a gesture event of 18
2017-12-06 15:45:56.319 vs[39224:25971801] Got a gesture event of 30
2017-12-06 15:45:56.329 vs[39224:25971801] Got a gesture event of 30
2017-12-06 15:45:56.340 vs[39224:25971801] Got a gesture event of 30
2017-12-06 15:45:56.352 vs[39224:25971801] Got a gesture event of 18
2017-12-06 15:45:56.352 vs[39224:25971801] Got a gesture event of 30
2017-12-06 15:45:56.363 vs[39224:25971801] Got a gesture event of 18
2017-12-06 15:45:56.363 vs[39224:25971801] Got a gesture event of 30
2017-12-06 15:45:56.374 vs[39224:25971801] Got a gesture event of 18
2017-12-06 15:45:56.385 vs[39224:25971801] Got a gesture event of 18
2017-12-06 15:45:56.386 vs[39224:25971801] Got a gesture event of 30

and it ends with the following when I quit:
lightning ~:2017-12-06 15:47:30.276 vs[39253:25973757] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
2017-12-06 15:57:12.945 vs[39253:25973757] modalSession has been exited prematurely - check for a reentrant call to endModalSession:

This last looks ominous and I wonder if it is related to the fact that vsdiff cannot save state?
thanks,
Gary

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #1 on: December 06, 2017, 11:01:09 pm »
That option always seems to stay if I set it. Try pressing the "Save Options" button to save it immediately. I thought it also stayed if I changed the option and also did a diff. It will not stay if you change the option, don't press the "Save Options" button, then just exit.

gary_ferland

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
Re: SlickEdit on MacOS
« Reply #2 on: December 07, 2017, 02:12:30 am »
Well, I have been doing "save" without effect. 
Are you launching vsdiff directly, from the command prompt, or some other way?  Do you sudo launch it or with normal permissions?  If from the command prompt do you get the string of errors I see?
thanks!
Gary

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #3 on: December 07, 2017, 02:40:09 am »
I'm launching vsdiff from a terminal. I do get the modalSession error. I don't get the gesture event errors you're seeing (I'm on high Sierra 10.13.1).

I just noticed that sometimes when I press the "Save Options", the options don't get saved unless I do a diff. Try changing your settings and then diffing two files.

When running vsdiff, seems like clicking on the "Save Options" button does nothing other than switch to the Diff tab. You have to diff two files (or do a folder diff) to get your options saved when using vsdiff.

We will be looking into this.
« Last Edit: December 07, 2017, 03:22:29 am by Clark »

gary_ferland

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
Re: SlickEdit on MacOS
« Reply #4 on: December 07, 2017, 01:00:50 pm »
Thanks - doing the diff after setting options in a directory compare does indeed save state.  There is now only this debug statement in the terminal:
2017-12-07 07:56:38.554 vs[22175:3170996] modalSession has been exited prematurely - check for a reentrant call to endModalSession:

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #5 on: December 07, 2017, 01:59:38 pm »
The way vsdiff saves options isn't obvious. I think it does it this way because it has to save/restore your settings when you do a diff. It also saves diff history so you can go back and restore a previous diff (even if you don't explicitly name and save a session).

The modalSession error message is a Qt error message we haven't been able to work around.

GaryFerland

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Re: SlickEdit on MacOS
« Reply #6 on: December 07, 2017, 03:55:05 pm »
I am trying to use it on two systems, a Macbook Pro at home and an iMac at work.  The suggested trick did get vsdiff to save state on the laptop.  I have tried repeatedly and cannot get it to save state on the iMac.  Both machines are at MacOS 10.13.1

On the iMac this is what I did:
start vsdiff from the terminal, with two directories as the target
under options set always compare, and then save
do the diff of a couple of files
confirm options still correct
exit
restart with save directories
option has gone back to just checking size and time.

any other ideas?

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #7 on: December 07, 2017, 05:43:13 pm »
We've been looking at this. It's not working right. The stand-alone "vsdiff" tool is supposed to work like using the file differencing menu item (Tools>File Difference) in SlickEdit. It's clearly not working the same. It's especially broken when setting options for diffing folders.

We will be working on a hotfix for this. Sorry this isn't working right.

GaryFerland

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Re: SlickEdit on MacOS
« Reply #8 on: December 07, 2017, 09:27:37 pm »
is there an ini file that I could edit to adjust it manually?

A couple of newbie questions - maybe you could point me to the right documentation.
The SlickEdit website says it offers debugging with both GCC and LLVM.  The Macs have apple command line tools LLVM and homebrew gcc-6.  LLVM does have a command line debugger but homebrew does not offer gdb.  How does Slickedit do debugging in this case?  Does it have its own Mac version of gdb with hooks into it from the IDE?  Does Slickedit provide a ddd-like graphical top end to both debuggers?

We are set up with gnu makefiles (not cmake).  Can SlickEdit ingest a standard makefile to control the build?

thanks!
Gary

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #9 on: December 07, 2017, 10:01:02 pm »
I don't think there is a great workaround for the diff settings issue. It shouldn't take us long to fix this. We will update this post when we have something.

If homebrew gcc-6 generates objects that are compatible with gdb, then you should be able to get full debugging support for it using SlickEdit. SlickEdit ships with a gdb for macOS (macos/gdb). Try using it as a command line debugger. If that works, you should be able to use SlickEdits GUI debugger with it. As long as homebrew gcc-6 command line works similar to standard gcc, then you can also take advantage of all of SlickEdit's build support. After creating a GNU C/C++ project in SlickEdit, configure the compiler here (Project>Project Properties, choose the Tools tab, select the "Build" tool, Click "Options...", set the Compiler field in the Compiler tab).

GaryFerland

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Re: SlickEdit on MacOS
« Reply #10 on: December 08, 2017, 01:25:37 pm »
Turns out there is a gdb available from homebrew - but getting it to work requires signing system security certificates, as described in the following:
https://sourceware.org/gdb/wiki/BuildingOnDarwin
Can SlickEdit only use the gdb that comes with it or can it use the homebrew version?  The SlickEdit gdb would likely need this same certificate signing process.

What compiler do most people use when developing with SlickEdit on MacOS?  The Apple command line tools LLVM?  Does SlickEdit have hooks into that version of the LLVM debugger?

What about the makefiles?
thanks!

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #11 on: December 08, 2017, 03:53:45 pm »
You can configure the gdb that SlickEdit uses when debugging GDB projects.

SlickEdit doesn't provide anything for code signing.

Most people use clang on macOS but if you need to use GDB, it really won't make much difference. As for hooks into LLVM hooks, you can change the compiler used but you can't really replace the debugger (it would be a hack by replacing a shared library included with SlickEdit).

When you create a Clang or GNU project in SlickEdit, the wizard will ask you how you want to do your builds. One of the options is to use your on manually maintained makefile that you provide. The default option is not to use a makefile at all and use SlickEdit's build system. Another option is provided where SlickEdit generates the makefile and updates it for you (don't choose that for a pre-existing makefile).

GaryFerland

  • Junior Community Member
  • Posts: 5
  • Hero Points: 0
Re: SlickEdit on MacOS
« Reply #12 on: December 08, 2017, 04:16:59 pm »
so the simplest "working straight out of the box" experience would be to use clang++ and lldb?
thanks

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #13 on: December 08, 2017, 04:21:42 pm »
For macOS, if you don't need to use GNU, use clang++. clang++ isn't any easier to use but I think it is a little faster. More people definitely use clang++ on macOS.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4036
  • Hero Points: 269
Re: SlickEdit on MacOS
« Reply #14 on: December 13, 2017, 02:40:44 am »
22.0.1 now available.

Download 22.0.1 for the vsdiff fixes.