Recent Posts

Pages: 1 [2] 3 4 ... 10
11
It should.
12
Excellent! Thanks Dan! Does the hotfix fix both issues?
13
In the projects tool I should be able to right-click on any tree node and do "Search from here".
This would open the FIF dialog populated correctly to search from that node recursively.

At least when in Directory View, but ideally this would work in any of the views.

This should also work in "Open" - in the folder tree view.
14
This will be fixed for the next hotfix.
15
SlickEdit® / Re: v22 memory leak?
« Last post by JeffB on January 22, 2018, 05:38:08 pm »
FYI...
The leak seems to be gone for me.  I have noticed unusual delays and extreme lapses in response, but I'm not sure if that's related only to Python files or not.

Jeff
16
SlickEdit® / Re: v22 memory leak?
« Last post by IkerAriz on January 22, 2018, 04:43:50 pm »
Hi Patrick,

I switched to version 22.0.1 and while the memory leak seems to have slowed down it's still present (eg, 1GB+ heap after a few days). It also appears that as memory use grows editing becomes more janky/less responsive: cursor movement and scrolling stagger, noticeable delays in autocomplete, etc.

Are there any diagnostics I can enable to help track the issue?

Regards,
Iker
17
SlickEdit® / Re: Using as C source editor is there a matching braces in same color
« Last post by Dan on January 22, 2018, 03:10:36 pm »
It should be on by default.   Go to Tools>Options and pick Editing, General, and be sure Parenthesis matching style is set to "Highlight". 

I've attached a picture of what it looks like in my editor.
18
SlickEdit® / Re: pop-bookmark switching splitter windows
« Last post by microvu on January 21, 2018, 05:45:44 pm »
Thanks! I'll check that out on Monday. Even if it's not perfect it'll give me some idea where to go from there.
19
SlickEdit® / Re: pop-bookmark switching splitter windows
« Last post by Graeme on January 20, 2018, 11:32:01 pm »
Forgot to mention, if you turn off "one file per window" - tools -> options -> editing -> editor windows  -  the problem might go away, I'm not sure.  It seems a bit erratic.
20
SlickEdit® / Re: pop-bookmark switching splitter windows
« Last post by Graeme on January 20, 2018, 11:27:52 pm »
I've written some code that lets you save and restore the active editor windows and line numbers for the document groups in the current window.  So you could set up two views into the same buffer in two different windows, then call save_win_list.  To restore, call restore_win_list.  It took a lot of trial and error and it might not be exactly what you want but you can probably change it or ask slickedit support for help, since you have maintenance and support.  e.g. currently if one of the edit windows has been closed before you run the restore, it doesn't get re-opened.
You might be able to add a wrapper around pop-bookmark that can figure out whether you need to adjust the active windows and line numbers if pop-bookmark has done the wrong thing.  You could also generalize it so that there is one "win_list" array for every buffer.

You can also use the slickedit functions save-named-state and load-named-state to save/ restore an edit session.


Code: [Select]
#include "slick.sh"

#pragma option(strictsemicolons,on)
#pragma option(strict,on)
#pragma option(autodecl,off)
#pragma option(strictparens,on)


static int GetEditorCtlWid(int wid)
{
   int editorctl_wid = wid._MDIGetActiveMDIChild();
   if ( editorctl_wid != null && _iswindow_valid(editorctl_wid) && editorctl_wid._isEditorCtl()) {
      return editorctl_wid;
   }
   if (_no_child_windows())
      return -1;

   return _mdi.p_child;
}

struct x1 {
   int wid;
   _str buf_name;
   int xp_line;
   int xp_col;
};

static x1 win_list[];

_command void save_win_list()
{
   int mx = 16;
   int wid1 = p_window_id;
   x1 xx1;
   int nxw;
   win_list._makeempty();
   int first = GetEditorCtlWid(p_window_id);
   if ( first <= 0 ) {
      p_window_id = wid1;
      p_window_id._set_focus();
      return;
   }
   p_window_id = first;
   while ( --mx ) {
      if ( !_iswindow_valid(p_window_id) || !p_window_id._isEditorCtl() ) {
         //say('vvv');
         p_window_id = wid1;
         p_window_id._set_focus();
         return;
      }
      p_window_id._set_focus();
      xx1.wid = p_window_id;
      xx1.buf_name = p_buf_name;
      xx1.xp_line = p_line;
      xx1.xp_col = p_col;
      win_list[win_list._length()] = xx1;
      //say(mx :+ ' z ' :+ p_buf_name :+ ' ' :+ win_list._length());
      next_tab_group();
      nxw = GetEditorCtlWid(p_window_id);
      if ( nxw <= 0 ) {
         p_window_id = wid1;
         p_window_id._set_focus();
         return;
      }
      p_window_id = nxw;
      if ( p_window_id == first ) {
         //say(mx :+ ' ' :+ p_buf_name);
         p_window_id = wid1;
         p_window_id._set_focus();
         return;
      }
   }
   p_window_id = wid1;
   p_window_id._set_focus();
}


_command void restore_win_list()
{
   int wid1 = p_window_id;
   int kk;
   if ( win_list._length() == 0 ) {
      //say('yyy');
      return;
   }
   for ( kk = 0; kk < win_list._length(); ++kk  ) {
      if ( !_iswindow_valid(win_list[kk].wid) || !win_list[kk].wid._isEditorCtl() ) {
         return;
      }
      //say('rrr' :+ ' ' :+ win_list[kk].buf_name);
      p_window_id = win_list[kk].wid;
      p_window_id._set_focus();
      edit(win_list[kk].buf_name);
      p_line = win_list[kk].xp_line;
      p_col = win_list[kk].xp_col;
      center_line();
   }
   p_window_id = win_list[0].wid;
   edit(win_list[0].buf_name);
}

Pages: 1 [2] 3 4 ... 10