Jump to content

Mason Wheeler

  • Content Count

  • Joined

  • Last visited

  1. In various $DIdx functions, the following line appears: if (i>a.length) throw Exception.Create($New(Exception),"Upper bound exceeded! Index "+i.toString()+z); The check needs to be "if (i >= a.length)", since JS arrays are zero-based.
  2. var x := 25; var y := 1; var z := x - pred(y); Expected: z = 25 Observed: z = 23, because the codegen for this is "z = x - y - 1" rather than "z = x - (y - 1)"
  3. Found another one. This looks similar, and may or may not be the same bug. Start a new project. Paste the following into any method: var zer: array of real; Zer[0] := ASin(AA); Change ASin to ArcSin. Hit ALT-F4 and don't save. Crash occurs in compiler while shutting down.
  4. Start a new project. In any method, paste the following two lines of code. (It doesn't matter that this doesn't compile.) var U: array of Real; U[0] := C.X().D().A(O,Ae); On the second line, between the U and the open bracket, insert a dot. Compiler explodes.
  5. Following a period of intense CPU activity for no good reason that was lagging things horribly, (10-20 seconds from keypress to response,) I tried to shut down and got the following error. I've seen this before, poking around in DWS, and it means something somewhere else went very wrong, so I'm not sure how much this will help, but here's the error report: http://pastebin.com/6YrFndxP If it would help at all, I'd be willing to work under NDA with the sources, to help track down and fix up stability issues like this. If I could have attached the debugger at the point where things were bur
  6. Thanks. I just updated to the latest beta version and found it fixed. Unfortunately, I discovered another CTRL-SHIFT-C bug: It will complete classes, but not class helpers.
  7. The DWS compiler supports expression properties, like so: property item[index: integer]: TMyObject read (FItems[index]); But if I use a property like this and then hit CTRL-SHIFT-C, it makes a mess of the class, adding invalid declarations and method stubs to the class.
  8. My setting is 3 spaces per tab, and all of the options at the top of the Editor pane are checked, which now that you call attention to it, appears to be the problem. There's a setting called Smart Tabs which I had never noticed, which is apparently on by default because I don't remember ever setting this, and turning it off makes tabs behave correctly. Not sure what's supposed to be smart about them, since they sure don't follow anything resembling accepted block indentation conventions. This is essentially the same problem as internal units. Behavior that violates the heck out of th
  9. Hmm. On there, it says Smart Tabs "Tabs to the first non-whitespace character in the preceding line." That actually makes sense, but it behaves badly if the cursor is already on or beyond the column corresponding to the first non-whitespace characer in the preceding line. For example, start a new function, with a header, a begin line, an end line, and a blank line between them. Place the cursor on the blank line and hit [Tab] once, and it will insert 5 spaces, taking you to the same column as the end of the begin above. Continue hitting [Tab] after that and it inserts additional spa
  10. Try making a trivial console project in the latest beta and load it in Firefox. Wave the mouse around over the page, and have Firebug open to the Console view, and watch this error spring up like weeds...
  11. I just got the beta, and I'm working on porting forward the project I've been working on. The namespace changes aren't too bad, but for some reason the new version seems to have forgotten what a "real" is. Now I have to rename it to "float" everywhere. Could that be rectified please?
  12. New unit is always created as dictated by IDE Preferences, Project Management, Store new forms and units in external files. OK, thanks. I didn't know that was there. Even so, it seems a bit odd. When I see options saying "Make project internal" and "Make project external" I interpret that as "set project's state to internal/external." To have this managed as a global setting when the words used in the UI clearly say that it's a project-level thing is just... strange. We definitely don’t want to maintain two or even three parsers as Embarcadero developers do. You shouldn't have to
  13. Also, [CTRL]-[sHIFT]-C relies far too heavily on the parser. If I declare a method signature like function foo(value: integer = MAXINT): array of integer; and then press [CTRL]-[sHIFT]-C, the signature of the stub that it inserts down below really should look like that... but it doesn't. And if there are errors in the code down below, the stub could get inserted at the top of the unit, or even in the middle of another method! BDS doesn't do that...
  14. [CTRL]-Click in whitespace causes an assertion failure rather than simply doing nothing. Unable to rearrange tabs by dragging them around. If I right-click on a different tab than the one I have open and select Close Page, it closes the current tab rather than the one I said to close. [CTRL]-[backspace] correctly deletes back to the start of a word, but [CTRL]-[Delete] only deletes one character. [TAB] should always insert exactly as many spaces as is defined in Tools->Preferences. Instead, it sometimes does the right thing and sometimes adds some other value ba
  15. Yes, please. The code I'm working on porting right now is very complex CAD-related stuff, so there's a lot of arrays of real numbers involved. Anything that would speed that up would be very welcome!
  • Create New...