Version 5.00 Beta 4 available (the last one)

Started by Pelle, April 15, 2008, 10:33:46 PM

Previous topic - Next topic

Pelle

Pelles C version 5.0, Beta #4, is now available for download:
http://www.smorgasbordet.com/pellesc/download.htm


  • IDE: fixed buffer size error for MENUBAR resource (Windows CE), possibly causing a corrupt string table (buffer size was in chars, but must be wide chars for v5.0).
  • POCC: Fixed (rare) case when strlen, wcslen, strnlen_s, wcsnlen_s intrinsic wasn't inlined.
  • POCC: Fixed problem when a call to a void function ended a __try block in a __try - __except statement (X64).
  • POCC: Fixed off-by-one buffer refill problem for line splicing (bug introduced june 2000, obviously uncommon).
  • POCC: Fixed a problem where a volatile reference could be optimized away.
  • POCC: Fixed problem with not being able to turn off memcpy intrinsic using #pragma function (ARM).
  • POCC: Fixed a problem with struct copy, and intrinsic memcpy, copying unaligned words (ARM).
  • POCC: fixed yet another problem with address calculations (ARM).
  • POCC: Added a few more expression simplification cases.
  • POCC: Removed some superfluous byte and word specifiers from the assembly output (harmless, but silly looking).

Pelle
/Pelle

severach

I've asked once before but it's so irritating I'll ask again.

When you're in the debugger and you click to one of the other debugger windows like the breakpoint window, the debugger toolbar buttons go gray, the Debug hot keys don't work, and the Debug menu disappears. Having to click the focus to the source code window to get those toolbar buttons to light up again is a big hassle. The buttons should be lit and the Debug menu should be available either of the tabbed windows at the bottom.

Pelle

/Pelle

Stefan Pendl

Hello Pelle,
one thing about the file locations.

1) is it possible to create the startmenu shortcuts under "All Users\Startmenu\Programs", so they are available for any user on a machine?

2) is it possible to move the sysdefs.tag file to "All Users\Application Data" too, for the same reason as above?

Thanks in advance for this lovely tool ;)
---
Stefan

Proud member of the UltraDefrag Development Team

Pelle

Quote from: Stefan Pendl on May 19, 2008, 07:12:06 PM
1) is it possible to create the startmenu shortcuts under "All Users\Startmenu\Programs", so they are available for any user on a machine?
I think so. Is this *always* the preferred location? If there is a need for both one user and all users, things will get more complicated...

Quote from: Stefan Pendl on May 19, 2008, 07:12:06 PM
2) is it possible to move the sysdefs.tag file to "All Users\Application Data" too, for the same reason as above?
Maybe. The global include folder settings are currently per user, so this should probably change too.

Anyway, I will not do any big changes for v5.0 - this may introduce new bugs. I will think about this for the next release - OK?
/Pelle

Stefan Pendl

Quote from: Pelle on May 20, 2008, 10:17:17 PM
Quote from: Stefan Pendl on May 19, 2008, 07:12:06 PM
1) is it possible to create the startmenu shortcuts under "All Users\Startmenu\Programs", so they are available for any user on a machine?
I think so. Is this *always* the preferred location? If there is a need for both one user and all users, things will get more complicated...
If there is only one user using the computer, he will not notice any difference, but if there are more than one, the folder must be moved manually after every update.

Quote from: Pelle on May 20, 2008, 10:17:17 PM
Quote from: Stefan Pendl on May 19, 2008, 07:12:06 PM
2) is it possible to move the sysdefs.tag file to "All Users\Application Data" too, for the same reason as above?
Maybe. The global include folder settings are currently per user, so this should probably change too.
I noticed that the folder settings are in HKCU, so sure this would need a change too.
Using HKLM to store the default, will only allow administrative users to change it, thus kids will not be able to do any harm, if the developer uses a family computer.
Using an ini file in CSIDL_COMMON_APPDATA to hold the folder information would be an option too.

Quote from: Pelle on May 20, 2008, 10:17:17 PM
Anyway, I will not do any big changes for v5.0 - this may introduce new bugs. I will think about this for the next release - OK?
The first one is just a change to the installer to change the argument of SHGetSpecialFolderLocation from CSIDL_PROGRAMS to CSIDL_COMMON_PROGRAMS, so I do not think this will affect Pelles C.

The second one needs more changes, may be allowing the user to select the destination folder of the sysdefs.tag file.
As developers are using your software, they should know where to put it.
This will have to wait for an update release, since it includes more changes.

As a workaround I can still place the file in the BIN folder of Pelles C, since I am not using Vista, but I know that this is not the right place for changeable data files, so I would really prefere CSIDL_COMMON_APPDATA as the destination.
---
Stefan

Proud member of the UltraDefrag Development Team

Pelle

Quote from: Stefan Pendl on May 21, 2008, 08:05:25 AM
If there is only one user using the computer, he will not notice any difference, but if there are more than one, the folder must be moved manually after every update.
Right. I am probably thinking of, and is more annoyed with, installers putting several icons on each and every users desktop without asking...

Quote from: Pelle on May 20, 2008, 10:17:17 PM
I noticed that the folder settings are in HKCU, so sure this would need a change too.
Using HKLM to store the default, will only allow administrative users to change it, thus kids will not be able to do any harm, if the developer uses a family computer.
Using an ini file in CSIDL_COMMON_APPDATA to hold the folder information would be an option too.
If - for some reason - two or more users want to use Pelles C, but with different folder settings, there is a problem. If user A change the folder settings and rebuilds the global sysdefs database, then user B/C/... will see symbols from user A's folders - which might be very bad. The "will never happen in practice" argument usually don't fly...

Perhaps all users can share the same XML settings file, which effectively turns off the Registry - but the last written copy of the XML file (at IDE exit) will be used by all users the next time. Sometime this is what you want, sometime not I think. One option might be to add entries to the XML settings file for database locations (sysdefs, snippets), so that experienced developers can change it manually...

/Pelle

TimoVJL

QuoteOne option might be to add entries to the XML settings file for database locations (sysdefs, snippets), so that experienced developers can change it manually...
Good idea.

BTW:
What to do when killing hanging program with task manager hangs poide's debugger ?
May the source be with you

Pelle

Quote from: timovjl on May 21, 2008, 05:10:32 PM
What to do when killing hanging program with task manager hangs poide's debugger ?
AFAIK, I always get control back when this happens to me. In other words: I have no useful idea. It may depend on the Windows version, of course...
Can you reproduce it?
/Pelle

TimoVJL

WindowsXP SP3 FI
QuoteCan you reproduce it?
Yes. I start ODBC_SHell.exe in debugger and give nonexistent server and then that program hangs.
Then i kill that ODBC_SHell.exe and then i can't close PellesC Debugger nor poide.exe

May the source be with you