Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » U++ community news and announcements » 32 bit wchar - for now in branch
Re: 32 bit wchar - for now in branch [message #57691 is a reply to message #57690] Sat, 20 November 2021 17:04 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

Thanks! It compiles OK now on Linux. Smile

Just re-compiled TheIDE on MSBT19x64. I do not notice any slowdown when changing BM or ending build. (BM changes in about 1-2 seconds, and ending the build is just a flash.) This is the case when I'm working on a local SSD (M.2, ~3 GB/s).

However, when my project sources are on a local NAS behind a 1Gb LAN connection, the situation is different: Changing BM takes like 5-7 seconds and starting a build has a start-up lag of 7-12 seconds when nothing seems to happen. At the end of build there is not any significant delay though. Anyway, this is not any different to how it has been at 2021.1 release.

Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57699 is a reply to message #57691] Tue, 23 November 2021 09:55 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Mirek,

While testing with reference/OpenGL, i noticed that OpenGL.upp strangely pulls in CodeEditor package instead of CtrlLib. I think it should be should be:
description "GLCtrl widget example\377";

uses
	GLCtrl,
	CtrlLib;

file
	main.cpp;

mainconfig
	"" = "GUI",
	"" = "GUI X11";

Are you close to merging wchar branch to master?

Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57701 is a reply to message #57699] Wed, 24 November 2021 14:02 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I am trying to figure out those weird delays in theide first...

Mirek
Re: 32 bit wchar - for now in branch [message #57709 is a reply to message #57701] Wed, 01 December 2021 14:02 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi Mirek,

It seems that occasionally the lower item list in Navigator Bar periodically re-adjusts its vertical position even while I'm dragging the 'elevator'.

I can stop this behavior by first clicking outside of theide window on the desktop and then clicking back in theide window. After this the 'elevator' works again normally.

Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57710 is a reply to message #57709] Wed, 01 December 2021 14:54 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Another issue: When calling ToUtf16(const char *s) with s=0, it crashes. (This does work correctly with 2021.1, i.e. without crashes.)
Here's the place in Core/Charset.h:
inline Vector<char16> ToUtf16(const char *s)          { return ToUtf16(s, (int)strlen(s)); }

It would work with:
inline Vector<char16> ToUtf16(const char *s)          { return ToUtf16(s, s?(int)strlen(s):0); }


Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57713 is a reply to message #57710] Wed, 01 December 2021 17:02 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Wed, 01 December 2021 14:54
Another issue: When calling ToUtf16(const char *s) with s=0, it crashes. (This does work correctly with 2021.1, i.e. without crashes.)
Here's the place in Core/Charset.h:
inline Vector<char16> ToUtf16(const char *s)          { return ToUtf16(s, (int)strlen(s)); }

It would work with:
inline Vector<char16> ToUtf16(const char *s)          { return ToUtf16(s, s?(int)strlen(s):0); }


Best regards,

Tom


Hopefully fixed.
Re: 32 bit wchar - for now in branch [message #57714 is a reply to message #57709] Wed, 01 December 2021 17:03 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Wed, 01 December 2021 14:02
Hi Mirek,

It seems that occasionally the lower item list in Navigator Bar periodically re-adjusts its vertical position even while I'm dragging the 'elevator'.

I can stop this behavior by first clicking outside of theide window on the desktop and then clicking back in theide window. After this the 'elevator' works again normally.

Best regards,

Tom


I am really confused with this report Smile

In any case, does not seem like this should be related to wchar32?
Re: 32 bit wchar - for now in branch [message #57715 is a reply to message #57714] Wed, 01 December 2021 17:39 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Hi,

It is something that occured with latest wchar, but not with 2021.1. I need to pick up current master and check if it shows the same behavior. That's tomorrow then.

Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57717 is a reply to message #57713] Thu, 02 December 2021 08:42 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
mirek wrote on Wed, 01 December 2021 18:02
Tom1 wrote on Wed, 01 December 2021 14:54
Another issue: When calling ToUtf16(const char *s) with s=0, it crashes. (This does work correctly with 2021.1, i.e. without crashes.)
Here's the place in Core/Charset.h:
inline Vector<char16> ToUtf16(const char *s)          { return ToUtf16(s, (int)strlen(s)); }

It would work with:
inline Vector<char16> ToUtf16(const char *s)          { return ToUtf16(s, s?(int)strlen(s):0); }


Best regards,

Tom


Hopefully fixed.


Hi,

Now it freezes entirely, as:
inline int strlen8(const char *s) { return s ? (int)strlen8(s) : 0; }
goes into an eternal recursion.

It should be:
inline int strlen8(const char *s) { return s ? (int)strlen(s) : 0; }

Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57718 is a reply to message #57714] Thu, 02 December 2021 08:56 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
mirek wrote on Wed, 01 December 2021 18:03
Tom1 wrote on Wed, 01 December 2021 14:02
Hi Mirek,

It seems that occasionally the lower item list in Navigator Bar periodically re-adjusts its vertical position even while I'm dragging the 'elevator'.

I can stop this behavior by first clicking outside of theide window on the desktop and then clicking back in theide window. After this the 'elevator' works again normally.

Best regards,

Tom


I am really confused with this report Smile

In any case, does not seem like this should be related to wchar32?

Hi,

While 2021.1 was OK, I just tried to see if this behovior exists with current master, but it seems that I cannot link theide with current master (on MSBT19x64). Here's the trouble:
Linking...
   Creating library C:\upp-16111\theide.exe.lib and object C:\upp-16111\theide.exe.exp
Draw.lib(FontWin32.obj) : error LNK2019: unresolved external symbol ScriptFreeCache referenced in function "struct Upp::GlyphInfo __cdecl Upp::GetUnicodeGlyphInfo(class Upp::Font,unsigned long)" (?GetUnicodeGlyphInfo@Upp@@YA?AUGlyphInfo@1@VFo
    nt@1@K@Z)
Draw.lib(FontWin32.obj) : error LNK2019: unresolved external symbol ScriptItemize referenced in function "struct Upp::GlyphInfo __cdecl Upp::GetUnicodeGlyphInfo(class Upp::Font,unsigned long)" (?GetUnicodeGlyphInfo@Upp@@YA?AUGlyphInfo@1@VFont
    @1@K@Z)
Draw.lib(FontWin32.obj) : error LNK2019: unresolved external symbol ScriptShape referenced in function "struct Upp::GlyphInfo __cdecl Upp::GetUnicodeGlyphInfo(class Upp::Font,unsigned long)" (?GetUnicodeGlyphInfo@Upp@@YA?AUGlyphInfo@1@VFont@1
    @K@Z)
Draw.lib(FontWin32.obj) : error LNK2019: unresolved external symbol ScriptGetGlyphABCWidth referenced in function "struct Upp::GlyphInfo __cdecl Upp::GetUnicodeGlyphInfo(class Upp::Font,unsigned long)" (?GetUnicodeGlyphInfo@Upp@@YA?AUGlyphInf
    o@1@VFont@1@K@Z)
Draw.lib(FontWin32.obj) : error LNK2019: unresolved external symbol ScriptGetFontProperties referenced in function "struct Upp::GlyphInfo __cdecl Upp::GetUnicodeGlyphInfo(class Upp::Font,unsigned long)" (?GetUnicodeGlyphInfo@Upp@@YA?AUGlyphIn
    fo@1@VFont@1@K@Z)
C:\upp-16111\theide.exe.new : fatal error LNK1120: 5 unresolved externals

There were errors. (0:01.65)


Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57719 is a reply to message #57718] Thu, 02 December 2021 09:26 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
OK, while I could not test this with MSBT19x64, I could do it with CLANGx64.

I can now confirm that it is only wchar branch having this issue. In order to reproduce the strange behavior, open theide (wchar) and therein select ide main package. Then open ide.h and select some item in the middle of the Navigator bar lower list. Now, if you start editing the file (e.g. just add one linefeed), and then grab the vertical scroll bar ('elevator') and drag it up or down. Within a second or so, the 'elevator' jumps back into the original 'floor', where your editing was started, and prevents reaching further items in the list.

Best regards,

Tom

EDIT: This also happens on Linux and CLANG. Additionally, I noticed that the Navigator bar lower list keeps refreshing/re-sorting its contents once per second. Discovered that the enumerated items BERRORS, BCALC, ... etc. keep jumping to different order every second.

[Updated on: Thu, 02 December 2021 10:00]

Report message to a moderator

Re: 32 bit wchar - for now in branch [message #57722 is a reply to message #57719] Thu, 02 December 2021 10:20 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Tom1 wrote on Thu, 02 December 2021 09:26
OK, while I could not test this with MSBT19x64, I could do it with CLANGx64.

I can now confirm that it is only wchar branch having this issue. In order to reproduce the strange behavior, open theide (wchar) and therein select ide main package. Then open ide.h and select some item in the middle of the Navigator bar lower list. Now, if you start editing the file (e.g. just add one linefeed), and then grab the vertical scroll bar ('elevator') and drag it up or down. Within a second or so, the 'elevator' jumps back into the original 'floor', where your editing was started, and prevents reaching further items in the list.

Best regards,

Tom

EDIT: This also happens on Linux and CLANG. Additionally, I noticed that the Navigator bar lower list keeps refreshing/re-sorting its contents once per second. Discovered that the enumerated items BERRORS, BCALC, ... etc. keep jumping to different order every second.


Thank you!

Hopefully fixed, please check.
Re: 32 bit wchar - for now in branch [message #57723 is a reply to message #57722] Thu, 02 December 2021 11:47 Go to previous messageGo to next message
Tom1
Messages: 1212
Registered: March 2007
Senior Contributor
Mirek,

It all seems to work just fine now! Thanks! Smile

Maybe you could clean up the reference/OpenGL by removing CodeEditor and adding CtrlLib:

https://www.ultimatepp.org/forums/index.php?t=msg&th=116 65&goto=57699&#msg_57699

Best regards,

Tom
Re: 32 bit wchar - for now in branch [message #57725 is a reply to message #57723] Thu, 02 December 2021 12:05 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Merged to master...
Previous Topic: text<->double conversions refactored
Next Topic: ide: Ctrl+D - duplicate - now works on selection too
Goto Forum:
  


Current Time: Sat Apr 20 17:35:16 CEST 2024

Total time taken to generate the page: 0.03819 seconds