Ah I see. That em dash does not seem to be in UTF-8 so that's probably why. So it's not a bug at all.
Anyways, another update to my script. After I learned more about variables scope, the script now only uses Perms when needed. The rest of the time it either uses local or global variables. Also, I have shorten the variable names and use a naming method similar to what TheQWERTY was suggesting. Thank you everyone. I'm going to see what else I'm going to do before actually releasing it. Any suggestions?
Code: Select all
"_Initialize"
Perm $P_SStore1;
Perm $P_SStore2;
Perm $P_SStoreNum;
If $P_SStoreNum == "" {$P_SStoreNum = 1;}
/* -------- Menu -------- */
Global $G_SStoreName = Self("base");
Global $P_SStoreMenu =<<<Menu
"Add to Store #$P_SStoreNum|:newtab"
Load "$G_SStoreName", "_Add";
"Remove from Store #$P_SStoreNum|:closetab"
Load "$G_SStoreName", "_Remove";
""
"Edit Store #$P_SStoreNum|:rename"
Load "$G_SStoreName", "_Edit";
"Show Store #$P_SStoreNum|:grid"
Load "$G_SStoreName", "_Show";
"Copy Store #$P_SStoreNum to Clip|:clip"
Load "$G_SStoreName", "_Copy";
""
"Copy Store #$P_SStoreNum to Here|:copyto"
Load "$G_SStoreName", "_CopyTo";
"Move Store #$P_SStoreNum to Here|:moveto"
Load "$G_SStoreName", "_MoveTo";
""
"Clear Store #1|:stop"
Load "$G_SStoreName", "_Clear1";
"Clear Store #2|:stop"
Load "$G_SStoreName", "_Clear2";
"Clear All Store|:del"
Load "$G_SStoreName", "_ClearAll";
""
"Activate Store #1|:dp1"
Load "$G_SStoreName", "_Act1";
"Activate Store #2|:dp2"
Load "$G_SStoreName", "_Act2";
Menu;
/* -------- Drag n' Drop -------- */
"Selection Store"
If <get drop |> != "" {
$localCountItems = GetToken(<get drop |>, "count", "|");
If $P_SStoreNum == 2 {
$P_SStore2 = "$P_SStore2"."|".<get drop |>;
$P_SStore2 = FormatList("$P_SStore2","ned"); }
Else {
$P_SStore1 = "$P_SStore1"."|".<get drop |>;
$P_SStore1 = FormatList("$P_SStore1","ned"); }
Status "$localCountItems Item(s) Added to Selection Store #$P_SStoreNum.",,"ready"; }
Else {
Global $P_SStoreMenu;
Load $P_SStoreMenu,*,s; }
/* -------- Body -------- */
"_Add"
End ("<selitems>"==""),"Nothing Is Selected!";
$localCountItems = Get("CountSelected");
If $P_SStoreNum == 2 {
$P_SStore2 = "$P_SStore2"."|".Get("SelectedItemsPathNames","|");
$P_SStore2 = FormatList("$P_SStore2","ned"); }
Else {
$P_SStore1 = "$P_SStore1"."|".Get("SelectedItemsPathNames","|");
$P_SStore1 = FormatList("$P_SStore1","ned"); }
Status "$localCountItems Item(s) Added to Selection Store #$P_SStoreNum.",,"ready";
"_Remove"
End ("<selitems>"==""),"Nothing Is Selected!";
$localCountItems = Get("CountSelected");
Global $P_SStore1Remove = Get("SelectedItemsPathNames","|");
If $P_SStoreNum == 2 {
ForEach($Item,$P_SStore1Remove,"|") {
$P_SStore2 = Replace($P_SStore2,$Item,,1); }
$P_SStore2 = FormatList("$P_SStore2","ned"); }
Else {
ForEach($Item,$P_SStore1Remove,"|") {
$P_SStore1 = Replace($P_SStore1,$Item,,1); }
$P_SStore1 = FormatList("$P_SStore1","ned"); }
Status "$localCountItems Item(s) Removed from Selection Store #$P_SStoreNum.",,"alert";
"_Edit"
If $P_SStoreNum == 2 {
If $P_SStore2 > 0 {
$localContents2 = Replace($P_SStore2,"|","<crlf>");
$P_SStore2 = Input("Edit Selection Store #2",,$localContents2,m,,750,500);
$P_SStore2 = Replace($P_SStore2,"<crlf>","|");
$P_SStore2 = FormatList("$P_SStore2","ned"); } }
Else {
If $P_SStore1 > 0 {
$Contents = Replace($P_SStore1,"|","<crlf>");
$P_SStore1 = Input("Edit Selection Store #1",,$Contents,m,,750,500);
$P_SStore1 = Replace($P_SStore1,"<crlf>","|");
$P_SStore1 = FormatList("$P_SStore1","ned"); } }
If $P_SStore1 == "" {Status "No Item(s) in Selection Store #$P_SStoreNum.",,"alert";}
"_Show"
If $P_SStoreNum == 2 {
If $P_SStore2 > 0 {
Tag SelectionStoreItems2,$P_SStore2,1;
Goto "*?Tags:SelectionStoreItems2 /r";
Tab(Rename, "Selection Store #$P_SStoreNum"); } }
Else {
If $P_SStore1 > 0 {
Tag SelectionStoreItems1,$P_SStore1,1;
Goto "*?Tags:SelectionStoreItems1 /r";
Tab(Rename, "Selection Store #$P_SStoreNum"); } }
If $P_SStore1 == "" {Status "No Item(s) in Selection Store #$P_SStoreNum.",,"alert";}
"_Copy"
If $P_SStoreNum == 2 {
If $P_SStore2 > 0 {
Copy $P_SStore2;
Status "Copied Selection Store #$P_SStoreNum Item(s) to Windows Clipboard.",,"alert"; } }
Else {
If $P_SStore1 > 0 {
Copy $P_SStore1;
Status "Copied Selection Store #$P_SStoreNum Item(s) to Windows Clipboard.",,"alert"; } }
If $P_SStore1 == "" {Status "No Item(s) in Selection Store #$P_SStoreNum.",,"alert";}
"_CopyTo"
If $P_SStoreNum == 2 {
If $P_SStore2 > 0 {
CopyTo <curtab>,$P_SStore2; } }
Else {
If $P_SStore1 > 0 {
CopyTo <curtab>,$P_SStore1; } }
If $P_SStore1 == "" {Status "No Item(s) in Selection Store #$P_SStoreNum.",,"alert";}
"_MoveTo"
If $P_SStoreNum == 2 {
If $P_SStore2 > 0 {
MoveTo <curtab>,$P_SStore2;
Tag SelectionStoreItems,$P_SStore2,1,2;
Unset $P_SStore2; } }
Else {
If $P_SStore1 > 0 {
MoveTo <curtab>,$P_SStore1;
Tag SelectionStoreItems,$P_SStore1,1,2;
Unset $P_SStore1; } }
If $P_SStore1 == "" {Status "No Item(s) in Selection Store #$P_SStoreNum.",,"alert";}
"_Clear1"
Tag SelectionStoreItems1,$P_SStore1,1,2;
Unset $P_SStore1;
Status "Selection Store #1 Cleared!",,"ready";
"_Clear2"
Tag SelectionStoreItems2,$P_SStore2,1,2;
Unset $P_SStore2;
Status "Selection Store #2 Cleared!",,"ready";
"_ClearAll"
$Clear = Confirm("Are You Sure You Want To Clear All Selection Store?");
End ($Clear == 0);
Tag SelectionStoreItems1,$P_SStore1,1,2;
Tag SelectionStoreItems2,$P_SStore2,1,2;
Unset $P_SStore1, $P_SStore2, $P_SStoreNum;
Status "All Selection Store Cleared!",,"ready";
Msg "All Cleared! Selection Store #1 Will Activate at Next Start.";
"_Act1"
$P_SStoreNum = 1;
Status "Selection Store #1 Activated.",,"ready";
Msg "Selection Store #1 Activated.";
"_Act2"
$P_SStoreNum = 2;
Status "Selection Store #2 Activated.",,"ready";
Msg "Selection Store #2 Activated.";