Author Topic: SE 2014 mac not honoring Exclude filespecs  (Read 2832 times)

Ed Barnard

  • Community Member
  • Posts: 43
  • Hero Points: 3
SE 2014 mac not honoring Exclude filespecs
« on: December 02, 2014, 11:39:53 pm »
With the Slickedit2014 for Mac just released, I created a new empty project. Then Project > Project Properties... > Add Tree.

Recursive is checked. Follow symlinks is checked. Add as wildcard is NOT checked.

Include filespecs:
*.htm;*.html;*.php;*.css;*.yml;*.sh;*.js;*.json;*.xml;Makefile;*.thtml;*.ctp;.htaccess;*.wiki

Exclude filespecs:
cache/; .hg/; .settings/; .DS_Store; assets/; archive/; reports/; sftp/; run-tests-tmp/; doc/; .git/; .gitignore; phpdoc/; coverage/; vendor/; vendors/; .svn/; tmp/; Plugin

I think the exclude filespecs are being ignored, or at least not all honored. With Slickedit 2013 I get 5600 files added to my source tree; with SlickEdit 2014 I get 9000+ files added, with the same file include and exclude specs.

So something has definitely changed. I have a suspicion that something related to case sensitivity in the exclude specs might be what changed. The files are on a samba-mounted file system running linux. Thus that file system is case sensitive; the Mac's main drive is case insensitive (a relatively recent change in how OS X formats their hard drive in their laptops).

Unfortunately this means I won't be using SlickEdit 2014 until I figure out how to strip down the file list; tagging those files just leads to a mess. SlickEdit 2013 is working well (except over VPN), so I'll stay with 2013 for now!

Quitting causes a SlickEdit crash.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4964
  • Hero Points: 409
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #1 on: December 03, 2014, 01:00:30 pm »
On Mac, the new file pattern matching code was case sensitive (and not supposed to be). Good catch. This will be fixed in v19.0.1. No date set yet.

Make sure you append '/' to the end of your directories. Otherwise, they won't be excluded. I noticed you wrote ".DS_Store" and "Plugin" with no trailing slash. The new file pattern matching code support's ant-like syntax. When there's  a trailing '/', internally the expression is converted to <whatever>/** for backward compatibility (and ease of use).

Ed Barnard

  • Community Member
  • Posts: 43
  • Hero Points: 3
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #2 on: December 03, 2014, 02:09:32 pm »
Thanks, Clark. With that explanation, I'll give 2014 another try today. One good thing about SlickEdit has always been the rapid support.

Ian Ameline

  • Community Member
  • Posts: 70
  • Hero Points: 7
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #3 on: December 03, 2014, 07:55:40 pm »
Clark, I also noticed a bug that may be related to this. (on Mac, OSX 10.9.5 using SE V19.0.0.14)

If I have /foo/bar/baz.cpp open in the editor and I compile it and the compiler reports an error on /foo/Bar/baz.cpp and I double click on the error, it opens the file a second time (now with the upper case "B" name) and It thinks they are two separate files -- so if I make updates in one, it does not reflect in the other until I save.

I don't recall V18 behaving like this on the mac.

-- Ian.

On Mac, the new file pattern matching code was case sensitive (and not supposed to be). Good catch. This will be fixed in v19.0.1. No date set yet.

Make sure you append '/' to the end of your directories. Otherwise, they won't be excluded. I noticed you wrote ".DS_Store" and "Plugin" with no trailing slash. The new file pattern matching code support's ant-like syntax. When there's  a trailing '/', internally the expression is converted to <whatever>/** for backward compatibility (and ease of use).

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4964
  • Hero Points: 409
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #4 on: December 04, 2014, 01:38:05 am »
Can you reproduce this at will?

Ian Ameline

  • Community Member
  • Posts: 70
  • Hero Points: 7
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #5 on: December 04, 2014, 02:00:19 am »
Can you reproduce this at will?

Yes -- it happens every time the case of the filename in the compile errors differs from the case of the filename already open. (it opens a second one) If you want to see it happen I can screen-share via skype if you would like to see it reproduced.

-- Ian.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4964
  • Hero Points: 409
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #6 on: December 04, 2014, 01:54:58 pm »
I just reproduced it using the "next-error" command. Looking into it.
« Last Edit: December 04, 2014, 01:59:41 pm by Clark »

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4964
  • Hero Points: 409
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #7 on: December 04, 2014, 07:05:54 pm »
Thanks for catching this! It happens on Windows too. It's a simple case sensitivity issue. This will be fixed in v19.0.1.

rajkej

  • Senior Community Member
  • Posts: 285
  • Hero Points: 12
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #8 on: December 05, 2014, 02:59:28 pm »
This will be fixed in v19.0.1.

Off topic but what is the expected 19.0.1 timeframe at this point?

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4964
  • Hero Points: 409
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #9 on: December 05, 2014, 11:25:03 pm »
Its looking like next week is hopeful.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 4964
  • Hero Points: 409
Re: SE 2014 mac not honoring Exclude filespecs
« Reply #10 on: December 11, 2014, 05:51:23 pm »
19.0.1 is now available.

There is still an issue with excludes which occurs under one of the following circumstances:

* Some include filespecs have a wildcard and some don't. For example, "*.cpp;makefile" will cause excludes not to work.
* Some include filespecs have a path and some don't. "*.cpp;demo/*.h" will cause excludes not to work

Do one of the following to work around the problem:

- Perform multiple searches. One with all the include filespecs with similar wildcards like "*.cpp;*.h" and another with the literal filenames like "makefile". For the path case, combine wildcards with similar paths (i.e. "demo/*.cpp;demo/*.h").
- Use "*makefile" or "makefile*" instead of "makefile". This will work if it doesn't match any extra files you don't want.

Note: Multi-file Find and Multi-file Diff do not have any problems handling excludes. Project Add Tree (in various places) and Tag Files "Add Tree" have this problem

The good news is that this can be fixed with some macro changes. The bad news is that this is difficult to fix and get good performance (i.e. avoid multiple recursive searches).