Author Topic: wxScintilla 2.01  (Read 21478 times)

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
wxScintilla 2.01
« on: September 24, 2009, 05:54:18 pm »
i merged scintilla 2.01 with cb wxscintilla

http://www.megaupload.com/?d=Q9HTFWP0

wxscintilla.h line 4019
/* TODO
    // This is already done through SendMsg
    SciFnDirect GetDirectFunction(); direct function
    sptr_t GetDirectPointer();  scintilla object
    // getting an raw text pointer is done too?
    uptr_t GetCharacterPointer();
    void GrabSCIFocus();
    bool LoadLexerLibrary(const wxString& path): Currently not implemented!

SetSelection confusing, theres actually another function
old msg SCI_SETSEL(anchor,pos)              void SetSelection(int,int)
new msg SCI_SETSELECTION(caret, anchor)     void _SetSelection(int,int)
*/

keep changebar code
keep codeblocks stuff (wxsmith ...)
keep INCLUDE_DEPRECATED_FEATURES that are removed in scintilla 2.01
keep some functions in Editor.cxx
    PositionFromLocationClose
    NotifyMove
    CopySelectionFromRange
keep some code in LexD.cxx line 81
keep in LexHTML
    LexerModule lmASP
    LexerModule lmPHP
    and related code
    they are removed in 2.01 and its use is discouraged
keep SVector.h
    allocFailure and related code
keep SCNotification scn = {{0}}; ScintillaBase.cxx Editor.cxx
    SCNotification scn = {0}; in scintilla 2.01 lots of warnings
keep in RunStyles.cxx|.h
    char *PersistantForm() const;
    void FromPersistant(const char *form);
    static bool PersistantSame(const char *form1, const char *form2);
keep all around the code checks like:
    var = 0
    type var = new type
  • ;

    if (!var) return; // all these checks are removed in scintilla 2.01
   
I keeped some of this stuff cos i dont know if its used by codeblocks in any way or indirectly by changebar, i could look into it but im tired of this thing

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #1 on: September 24, 2009, 07:25:59 pm »
We already have a test-branch including Scintilla 2.01:

Code
svn co svn://svn.berlios.de/codeblocks/branches/scintilla

should work for anonymous svn-access.

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #2 on: September 25, 2009, 01:20:10 am »
connection failed
connection is read only :(

dunno if you noticed (maybe you already fixed someway) that when you clear a rectangular seleccion, caret is placed in the mainRange but when selecting up-down
mainRange is the lower one, a Paste will start there, maybe this is not the desired behavior. Downloaded precompiled SciTE and works the same way so is something about scintilla itself.

[attachment deleted by admin]

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #3 on: September 29, 2009, 05:10:54 am »
Well if someone is interested

Implemented all missing func
wxSciFnDirect GetDirectFunction()
wxUIntPtr GetDirectPointer()
void GrabSCIFocus()
bool LoadLexerLibrary(const wxString& path)

not really very useful just to have them done

Events:
wxEVT_SCI_AUTOCOMP_CANCELLED
wxEVT_SCI_AUTOCOMP_CHARDELETED
wxEVT_SCI_SETFOCUS
wxEVT_SCI_KILLFOCUS

Implemented DynamicLibrary in PlatWX.h that is not currently implemented
Ive build LexMarkDown as external lexer and tested to load it with
LoadLexerLibrary() works fine

http://www.megaupload.com/?d=WZQD8FIN

If you plan to use external lexers build with SCIMAKINGDLL defined, that will export some Scintilla symbols ( WindowAccesor, PropSetSimple, WordList, LexerModule )
When building an external lexer define SCIUSINGDLL and link against scintila lib (i.e. wxScintilla.a).

-------------------

// Multiple selections
SetMultipleSelection(true);
// Type to multiple selections at the same time
SetAdditionalSelectionTyping(true);
// virtual spaces (go anywhere in the line even without text)
SetVirtualSpaceOptions(wxSCI_SCVS_RECTANGULARSELECTION
    | wxSCI_SCVS_USERACCESSIBLE); // I dont like this one for coding

[attachment deleted by admin]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: wxScintilla 2.01
« Reply #4 on: September 29, 2009, 09:52:02 am »
Well if someone is interested
Are you aware that we have a scintilla branch that uses 2.01 already?
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #5 on: September 29, 2009, 01:08:00 pm »
I do. That version doesnt include new scintilla notifications nor DinamicLibraryImpl and miss some defines.
It was missing new scintilla files in proyect (selection.cxx|.h lexMarkDown.cxx)
I have changed too
-SCNotification scn = {{0}};
+SCNotification scn; memset((void*)&scn,0,sizeof(scn));

And cleaned some scintilla files of uneeded includes to keep it alligned with scintilla code

ScintillaWX.cxx was missing #include <new> that i think its needed to get exception from bad allocations now that all allocations checks has been removed from scintilla.

[attachment deleted by admin]
« Last Edit: September 29, 2009, 01:13:41 pm by cgarcia109 »

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #6 on: September 29, 2009, 07:32:37 pm »
theres some issue with rectangular selections
when you do a rectangular selection if the last line (the one with the caret that become the mainrange) is empty GetSelectionStart() and GetSelectionEnd() returns the same value. In this case cbEditor::HasSelection() returns false..

In cbEditor::HasSelection()

- return control->GetSelectionStart() != control->GetSelectionEnd();
+ return control->GetSelections()>0;

------------

No, that doesnt do it. GetSelections() always return 1+
« Last Edit: September 29, 2009, 07:47:10 pm by cgarcia109 »

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: wxScintilla 2.01
« Reply #7 on: September 29, 2009, 08:49:28 pm »
That version doesnt include new scintilla notifications
That's not really true... anyways... I synced your code with the one from the branch and there were some mods I will test and probably apply. But most of it was indeed already implemented, just in a different order. It's just that you missed some aspects (so did I ... ;-) so I cannot directly apply it.

-SCNotification scn = {{0}};
+SCNotification scn; memset((void*)&scn,0,sizeof(scn));
This doesn't really change anything but it is technically more correct. hence I believe it'll suck some more CPU power, so it needs testing.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: wxScintilla 2.01
« Reply #8 on: September 29, 2009, 08:52:02 pm »
when you do a rectangular selection if the last line (the one with the caret that become the mainrange) is empty
I'm afraid I don't understand... If the last line is empty the rectangular is reduced to basically "n lines down and 0 chars left". For me this is an "empty selection"... Could you please post an example when this is not the case? E.g. a code snippet?
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #9 on: September 29, 2009, 09:43:33 pm »
Martin:
please don't switch multiple select and additional selection typing on as default.

It should be configurable.
It's an interesting feature, but I don't think it will be used very much and at least additional selection typing (or better typing and deleting at multiple postions at the same time) can be used accidently, especially if a user uses ctrl+left-click for browse-marks and it can be annoying to undo changes you did not want and to click into the editor to have only one caret again.

I think the options can be placed on the Margins and caret pane.

I can do that, if it's okay for you.
« Last Edit: September 29, 2009, 10:07:43 pm by jens »

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #10 on: September 29, 2009, 10:25:05 pm »
Its related about discovering when there is a selection done or not. From the scintilla documentation its said to use GetSelectionStart()!=GetSelectionEnd(), but this is outdated.

The thing is that empty ranges are kept in the slection range list, and each range has its own anchor and caret.

GetSelectionStart() {
    return Platform::Minimum(sel.MainAnchor(), sel.MainCaret());
}
GetSelectionEnd() {
    return Platform::Maximum(sel.MainAnchor(), sel.MainCaret());
}

Where MainAnchor and MainCaret refers to the anchor and caret of the MainRange

I think its shown better with an image

Using virtual spaces:


Without virtual spaces(is a rectangular selection):


The last selected "line" is kept as the MainRange of the selection and this is the one used by GetSelectionStart|End calls
Since the last range is empty cbEditor::HasSelection() would return false in both cases, what its not true.
Actually cbEditor as it is now wont copy nothing to clipboard. This is only with rectangular selections.

Ive tried with GetRectangularSelection[Anchor|Caret] but is not perfect.
A vertical empty selection would have diferents anchor caret values returning true.

I think its better just to add a new function/message to wxScintilla
bool IsSelectionEmpty()  --> SCI_ISSELECTIONEMPTY --> return sel.Empty()

I dont understand why this message doesnt exits

please don't switch multiple select and additional selection typing on as default.

Yes they should be selectable, some ppl will like them other not.
« Last Edit: September 29, 2009, 10:35:35 pm by cgarcia109 »

Offline eranif

  • Regular
  • ***
  • Posts: 256
Re: wxScintilla 2.01
« Reply #11 on: September 29, 2009, 10:39:08 pm »
You should use this to determine whether you got a selection (the below code works for multiple selection as well as for rectangular selections):

Code
bool wxScintilla::HasSelection() {
        return SendMsg (SCI_GETSELTEXT, 0, 0) > 0;
}

Its the safest and correct way to do it:
http://www.scintilla.org/ScintillaDoc.html#SCI_GETSELTEXT

Eran
« Last Edit: September 29, 2009, 10:40:53 pm by eranif »

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #12 on: September 29, 2009, 11:28:09 pm »
What about using:
Quote from:  http://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONS
SCI_GETSELECTIONS
        Return the number of selections currently active.

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #13 on: September 30, 2009, 12:20:40 am »
Code
bool wxScintilla::HasSelection() {
        return SendMsg (SCI_GETSELTEXT, 0, 0) > 0;
}

After some test...
That doesnt works with rectangular selections, cos all ranges receive a final '\n' char. Using virtual spaces if you select some empty space it would return a string like '\n\n\n'
sel.Empty() doesnt work neither cos it checks caret and anchor in real and virtual positions, what doesnt works fine in all cases.
Its needed to check all ranges for real.
You cant trust a single range, most scintilla functionality works over all ranges.

At the end i think this is the better way to check for real selections:

    case SCI_ISSELECTIONEMPTY:
        for (size_t i=0; i<sel.Count(); i++) {
            if(sel.Range(i).anchor.Position() != sel.Range(i).caret.Position())
                return false;
        }
        return true;

or outside scintilla:

    cbStyledTextCtrl* control = GetControl();
    size_t sels = control->GetSelections();
    for (size_t i=0; i<sels ; i++) {
        if (control->GetSelectionNCaret(i) != control->GetSelectionNAnchor(i))
            return true;
    }
    return false;
       
SCI_GETSELECTIONS
        Return the number of selections currently active.
That the first i tried, make more sense, but scintilla always have a selection. The caret alone is an empty selection. That function always return 1+
« Last Edit: September 30, 2009, 02:36:38 am by cgarcia109 »

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: wxScintilla 2.01
« Reply #14 on: September 30, 2009, 08:47:17 am »
I think the options can be placed on the Margins and caret pane.
I can do that, if it's okay for you.
I don't have any plans to switch that on by default. You can do it, if you like. Just please wait until I commit some pending modifications to the scintilla branch to avoid conflicts.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: wxScintilla 2.01
« Reply #15 on: October 01, 2009, 07:53:18 am »
Just please wait until I commit some pending modifications to the scintilla branch to avoid conflicts.
You don't need to wait any longer. ;-) I've added the pending changes into the branch. They work fine here.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #16 on: October 02, 2009, 02:32:30 am »
Hi, just noticed, GetSelectionNStart and GetSelectionNEnd are missing an argument
Changed another 2 lines too

edit:
I see in ScintillaWX::Paste() you added some code at the start of function but without below code the computed firstPosition is not usable

Code
Index: C:/Projects/scintilla-test-brach/src/sdk/wxscintilla/src/ScintillaWX.cpp
===================================================================
--- C:/Projects/scintilla-test-brach/src/sdk/wxscintilla/src/ScintillaWX.cpp (revision 5834)
+++ C:/Projects/scintilla-test-brach/src/sdk/wxscintilla/src/ScintillaWX.cpp (working copy)
@@ -587,10 +587,9 @@
     int newPos = 0;
     int caretMain = CurrentPosition();
     if (rectangular) {
-        SelectionPosition selStart = sel.Range(sel.Main()).Start();
         int newLine = pdoc->LineFromPosition (caretMain) + wxCountLines (buf, pdoc->eolMode);
         int newCol = pdoc->GetColumn(caretMain);
-        PasteRectangular (selStart, buf, len);
+        PasteRectangular (firstPosition, buf, len);
         newPos = pdoc->FindColumn (newLine, newCol);
     } else {
         pdoc->InsertString (caretMain, buf, len);
         
About the SCNotification initializations (memset ... ) well it could be just not initialized at all, SCNotification scn; without {0} nor memset(...
All relevant values for an specific notification are set and no other values are used by the notification receiver, it should be asumed for any non relevant values just to be unintialized.

[attachment deleted by admin]
« Last Edit: October 02, 2009, 11:53:00 am by cgarcia109 »

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #17 on: October 02, 2009, 07:00:02 am »
Just please wait until I commit some pending modifications to the scintilla branch to avoid conflicts.
You don't need to wait any longer. ;-) I've added the pending changes into the branch. They work fine here.

I will do it later today or the coming weekend.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: wxScintilla 2.01
« Reply #18 on: October 02, 2009, 12:22:05 pm »
I will do it later today or the coming weekend.
Don't hurry... I just wanted to mention that the pending modifications are added.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

mariocup

  • Guest
Re: wxScintilla 2.01
« Reply #19 on: October 06, 2009, 10:39:11 pm »
I just compiled scintilla branch and I am getting some strange behaviour (see attachment).

I have the following option enabled (not sure if relevant):
- word wrap
- virtual spaces
- multiple selection

If I select a text in block select mode (end of the line) and press Ctrl+C and then try to insert it, then not the selected text is inserted. Instead some characters of the beginning of the line are inserted.

Is this a bug or any feature that I am not using correctly.

[attachment deleted by admin]

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #20 on: October 06, 2009, 11:06:46 pm »
Seems to work correctly here.
« Last Edit: October 07, 2009, 12:23:08 am by jens »

mariocup

  • Guest
Re: wxScintilla 2.01
« Reply #21 on: October 07, 2009, 08:13:13 am »
Hi jens,

I build with gcc 4.4.x under windows, wxwidgets 2.8.10 and the latest revesion of scinitlla branch. I will send you my default.conf to reproduce it.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #22 on: October 07, 2009, 09:20:34 am »
Mario:

is it possible, that you get data from a previous selection you copied to clipboard ?

If I select a rectangle and then accidently press the left mous-button inside the editor with ctrl-key pressed I get multiple selections and ctrl-c does not overwrite the clipboard with the last (in this case empty selection) nor it uses the rectangular selection, and therefore ctrl-v seems to use the last content added to clipboard.

I also can reproduce this behaviour when doing a rectangular select, and move the mouse one line up from the end of the selectionbefore I  release the mouse-button.
Or more clear select a rectangualr from (e.g.) line 2 to 6 (with ctrl-alt pressed) then move the mouse up one line (the selected rectangular is now from line 2 to 5) and the release the mouse-button.
If I now pres ctrl-c nothing seems to be copied to clipboard and the previous data is used for insertion.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #23 on: October 07, 2009, 10:38:29 am »
On linux I get another issue with rectangular selection and multi-selects.

If I do arectangular selection then move the mouse, pres ctrl and click anywhere, then type ctrl-c and then ctrl-v, scintilla inserts the chars of the rectangualr selections, but without the additional \n's, so it will be inserted as if all characters are in one line.
The other (windows) issue does not exist here (linux).

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #24 on: October 14, 2009, 04:22:27 pm »
when you do ctrl-c codeblocks first checks if a selection exists through function
cbEditor::HasSelection (as has been commented before this function is not correct with this scintilla version) this function is returning false in these cases and codeblocks never copy nothing to clipboard (nor clipboard is deleted, so old selection remains)
    
If I do arectangular selection then move the mouse, pres ctrl and click anywhere, then type ctrl-c and then ctrl-v, scintilla inserts the chars of the rectangualr selections, but without the additional \n's, so it will be inserted as if all characters are in one line.

scite (windows) does the same, maybe is normal behaviour or, if something is wrong then is wrong too in windows platform
From scintilla doc:
Quote
When discontiguous selections are copied to the clipboard, each selection is added to the clipboard text in order with no delimiting characters. For rectangular selections the document's line end is added after each line's text.
Quote
Rectangular selections are handled as multiple selections although the original rectangular range is remembered so that subsequent operations may be handled differently for rectangular selections.
But since a rectangular selection is mixed with a non rectangular selection, the selection is handled as a normal selection?

The other (windows) issue does not exist here (linux).

when you do this in linux, text is pasted rectangular? if platform is the same (wxscintilla) behaviour should be the same(??)
« Last Edit: October 14, 2009, 04:40:09 pm by cgarcia109 »

Offline asynchronous13

  • Single posting newcomer
  • *
  • Posts: 5
Re: wxScintilla 2.01
« Reply #25 on: October 15, 2009, 01:03:11 am »
I'm not positive that this is related, but it seems possible.

Ubuntu 8.10 x86_64
gcc 4.3.2

I updated to SVN 5862 (from 574X). The editor was completely unusable. It was as if "Select All" was constantly pressed. The text of the entire file in the editor was highlighted. If I clicked with the mouse, the highlighted text briefly flashed to un-highlighted, then immediately back to highlighted. If I typed anything, of course it replaced the highlighted text. So, at most I could have one character on the screen while typing.

I checked out several intermediate SVN versions to try and find where this was introduced. I did a very simple test -- if the first file opened was highlighted, it had the bug. If the file was not highlighted, I gave it a pass. Eventually I found:

5843 - ok
5844 - "select all" bug

The dates for these are 2009-10-05, which matches up with reports on this thread. I thought I could just use 5843 for now and report the bug. But then I noticed that if I selected any text whatsoever, the selected text was immediately and forever pasted into the editor. For example, if I selected a line with the mouse -- that line was pasted repeatedly into the text file until I closed codeblocks. If I selected text using shift+arrow, I could only get one letter selected (or one line) before that single letter (or line) was pasted over and over -- until I closed codeblocks. Even if I selected text in a different app -- then that text was pasted over and over into the the codeblocks editor until I closed codeblocks.

I tried rolling back several more revisions to find the source of that error, but after too many crashes I was getting inconsistent results. So, rebooted and checked out a pristine SVN tree (now 5864).

Code
svn status --no-ignore | grep '^\?' | sed 's/^\?      //'  | xargs rm -rf
make clean
make distclean
./bootstrap
./configure --with-contrib-plugins=all
make -j 8
make install

Now, when I launch CB I get the message that

Code
"One or more plugins were not loaded. 
This usually happens when a plugin is built for
a different version of the Code::Blocks SDK.
Check the application log for more info.

List of failed plugins:
libwxSmithAui.so
libwxsmith.so
libwxsmithcontribitems.so"

(by the way, where is the application log saved?) Not sure if my issue is related to the changes mentioned in this thread, or if I just forgot to update a library or something. Anyway, without those plugins at least I can use the editor again.

Offline cgarcia109

  • Multiple posting newcomer
  • *
  • Posts: 24
Re: wxScintilla 2.01
« Reply #26 on: October 15, 2009, 03:37:57 am »
what svn are you using
-scintilla test branch
-trunk with some wxscintilla code applied
-only trunk

In the first case it could be related
In the second case, if you applied some code from this thread, that could be the trouble.
In the last case, its prolly not related as no new wxscintilla code has been applied to trunk yet. But anyway i think it will be of interest to codeblocks team.

Offline Jenna

  • Administrator
  • Lives here!
  • *****
  • Posts: 7255
Re: wxScintilla 2.01
« Reply #27 on: October 15, 2009, 02:52:54 pm »
I'm not positive that this is related, but it seems possible.

Ubuntu 8.10 x86_64
gcc 4.3.2

I updated to SVN 5862 (from 574X). The editor was completely unusable. It was as if "Select All" was constantly pressed. The text of the entire file in the editor was highlighted. If I clicked with the mouse, the highlighted text briefly flashed to un-highlighted, then immediately back to highlighted. If I typed anything, of course it replaced the highlighted text. So, at most I could have one character on the screen while typing.

You have to rebuild (clean and build) the whole sources (see here).
« Last Edit: October 15, 2009, 02:54:34 pm by jens »

Offline asynchronous13

  • Single posting newcomer
  • *
  • Posts: 5
Re: wxScintilla 2.01
« Reply #28 on: October 15, 2009, 05:16:51 pm »
what svn are you using
-scintilla test branch
-trunk with some wxscintilla code applied
-only trunk

trunk only. so perhaps it had nothing to do with wxScintilla changes.
This thread matches my symptoms more closely.

You have to rebuild (clean and build) the whole sources (see here).

Done, as mentioned in the 2nd half of my post. The "select all" issue appears to better now, but any thoughts on why certain plugins no longer load?