Sublime Forum

Nightly Build 2192

#1

Nightly Build 2192 is out now.

Directory scanning on Windows has been improved, making use of inodes (aka File IDs on win32) to better determine when a directory has been seen before. This fixes scanning of folder trees with identical sub folders, but keep in mind that file ids may not be available in all scenarios, such as via samba shares. This same logic has always been in use on Linux and OS X.

File change monitoring has been improved on OS X, where FSEvents doesn’t natively follow through symlinks, so previously any folders accessed through symlinks wouldn’t be monitored for changes. Symlinks should no longer cause any issues on OS X.

0 Likes

#2

garrrrrn, write a blog post on cross platform development would ya

what’s your process?

0 Likes

#3

I was really excited, hoping my settings would finally get real-time updates on OS X, but it seems to not yet be the case.

pbp ~/Library/Application Support/Sublime Text 2 $ ls -la drwxr-xr-x+ 9 peppy staff 306 24 Aug 2011 . drwx------+ 119 peppy staff 4046 29 Mar 13:43 .. -rw-r--r--@ 1 peppy staff 12292 15 Mar 15:29 .DS_Store drwxr-xr-x 16 peppy staff 544 1 Apr 23:11 Backup drwxr-xr-x 2 peppy staff 68 29 Mar 16:17 Installed Packages lrwxr-xr-x 1 peppy staff 47 27 Jul 2011 Packages -> /Users/peppy/Dropbox/Apps/Sublime/Data/Packages drwxr-xr-x+ 51 peppy staff 1734 27 Jul 2011 Packages-local drwxr-xr-x+ 50 peppy staff 1700 25 Mar 23:36 Pristine Packages drwxr-xr-x+ 5 peppy staff 170 1 Apr 23:12 Settings

Should this be working now, or are the monitor events only in relation to projects? Would be really nice to have this fixed :smile:.

0 Likes

#4

Minor issue (not specific to this version, but still reproducible in this version):

In my SublimeGDB plugin I have a magic view that basically implements a tree widget. To expand a branch I save the viewport position, clear the view, insert all the lines and then set the viewport position. However setting the viewport position doesn’t perform as expected and the viewport ends up near the top of the tree every time. If I however do a call to viewport_extent just before setting the viewport position, it works just fine. Since I’m setting the same viewport position as was set before clearing and adding new lines, maybe the view thinks it’s already at that position or something? In any case I have a work around so I’m good.

0 Likes

#5

totally off topic but where is that april fools thread about sublime going open source? :mrgreen:

0 Likes

#6

I’ve heard Sublime Text has been sold to Microsoft and it will be the default text editor in Windows 8! :astonished:

0 Likes

#7

Top level directories (as Packages is in how its used) as symlinks won’t be scanned correctly. I’ll change this for the next build.

I deleted it because of the likelihood of it causing confusion, especially with the poster impersonating my username. Also, I have a personal vendetta against april fools day :slight_smile:

I’m not sure how much there is to say about it: Sublime Text is basically an everyday C++ application, compiled with MSVC on Windows and GCC on Linux and OS X. I use premake to generate Makefiles for the different platforms.

0 Likes

#8

[quote=“jps”]
I’m not sure how much there is to say about it: Sublime Text is basically an everyday C++ application, compiled with MSVC on Windows and GCC on Linux and OS X. I use premake to generate Makefiles for the different platforms.[/quote]

Shit’s a PITA, with subtle, yet potentially profound differences between OSs. So what’s the general strategy for dealing with that?

When developing, would you prototype on your favoured, most productive platform and then test on other platforms once an idea/feature is proven and/or complete?

In any given 10 minute block of time have you used more than one operating sytem?

Do you trigger builds/test suites for different operatings systems concurrently?

Do you use virtual machines?

Doesn’t suffer fools. Period.

0 Likes

#9

Jon, saw the changes in this build about directory scanning and immediately thought of this thread. Before the update I was seeing all folders in the project expand as expected; after the update I’m having the issues described in the link, but at inconsistent levels (eg, less than 6 deep).

I have a suspicion that this may have something to do with switching from wireless to ethernet when the project includes folders in a remote Samba share. Restarting Sublime does not fix the issue, but restarting the computer does, so it might be a credentialing thing. What do you think?

0 Likes

#10

Nick: The end of your comment implies it’s working for you now. Is this the case? If not, can you provide some details:

  • Your OS, plus the directory you’re trying to access: is it local or remote? If remote, what OS is it being hosted on? What file system is it using?
  • Does the directory tree include symlinks?
0 Likes

#11

castles: Dealing with multiple OS’s isn’t too bad. Where reasonable, the differences are abstracted (e.g., window creation, file system change detection), and for cases where one OS simply has different requirements (e.g., on OS X the application has to specify if it wants a light i-beam mouse cursor vs a dark one, while other Windows and Linux only have a single one) then the API is made wide enough to handle it, with dummy implementations on the platforms that don’t care.

I mostly code on Linux, as compile times are by far the fastest there, partially because of better hardware, and partially because of the gold linker. Also, I’m happiest with the linux dev tool chain (objdump, valgrind, etc), although MSVC does have by far and away the best debugger. I’ll generally only frequently switch between computers when working on features with platform specific hooks, like the recent drag and drop integration.

I use VMs for building the linux releases, but otherwise have 3 PCs on my desk.

0 Likes

#12

@jps: even i’m not a „desktop” programmer (i’m doing just web stuff), reading how things are built is fascinating for me. Maybe you will have some free time and post a blog entry with all kind of neat details (workflow, platform specific quirks, biggest challenges so far and so on). I guess you will make a lot of people happy :mrgreen:

0 Likes

#13

I must have had a run of bad luck. I was writing a program recently that involved threading which worked fine on osx, windows but was locking on linux. Then I had the good luck of finding out that the system tray had been removed from ubuntu unity, and the Qt method isSystemTrayAvailable called some X11 routine which caused segfaults. 0xFFFFFFFFFFFFFFFFFFFFFFF.

Yeah, that would be great.

Besides, it would make a nice holiday for you! haha

0 Likes

#14

[quote=“jps”]Nick: The end of your comment implies it’s working for you now. Is this the case? If not, can you provide some details:

  • Your OS, plus the directory you’re trying to access: is it local or remote? If remote, what OS is it being hosted on? What file system is it using?
  • Does the directory tree include symlinks?[/quote]

PM sent. In the past I had solved the issue with a restart, but that doesn’t seem to be the case any longer.

0 Likes