Shop OBEX P1 Docs P2 Docs Learn Events
Open Propeller Project #3: Propeller IDE V0.1 Package Available - Page 11 — Parallax Forums

Open Propeller Project #3: Propeller IDE V0.1 Package Available

18911131429

Comments

  • rjo__rjo__ Posts: 2,114
    edited 2014-02-22 17:57
    Believe it or not… I've been a little distracted and just came across this today. Fabulous stuff.

    I followed the links and got everything up an running on my Mac 10.8.6. I think this has been answered, but when I went back through the entire thread, page after page after page, I can't find it.

    I can build and run PropellerIDE but when I go to actually compile a spin file, I get the preferences dialog asking me to locate OpenSpin…
    When I locate OpenSpin, it is gray-out and I can't select it.
    I tried running both PropellerIDE and QT creator from the command line using sudo. This didn't fix it.
    I also tried copying the BIN folder from opt to the applications folder and changing permissions.

    No luck.

    Thanks

    Rich
  • jazzedjazzed Posts: 11,803
    edited 2014-02-22 18:19
    rjo__ wrote: »
    I can build and run PropellerIDE but when I go to actually compile a spin file, I get the preferences dialog asking me to locate OpenSpin…
    I'll look into it. Meanwhile just find openspin on your system and copy/paste the path into the compiler field.
  • rjo__rjo__ Posts: 2,114
    edited 2014-02-22 19:09
    Lordy:) As in "DUH."
  • dgatelydgately Posts: 1,629
    edited 2014-02-22 19:15
    ctwardell wrote: »
    What version of Debian are you running, is it a VM?

    I'm running 7.4.0 amd64 on VirtualBox.

    I found that if I have 3D acceleration enabled Qt5 creator locks up the desktop when I close it, does not happen if I have 3D Acceleration off.

    I saw a few references to Qt5 dialogs having issues in gnome3.

    C.W.

    Yes, 7.4 amd64 on VMWare.

    Works well, doesn't crash or lock up the Desktop with 3D Accel on. I give it 4 processors and 2GB to run on in VMWare.

    I used VirtualBox in the past, but it's free and sometimes you get what you pay for. Sometimes you get more than what you pay for (i.e. buying from Parallax) but not as often. For me the 39-49$ U.S. per year for VMWare is worth it.


    dgately
  • ctwardellctwardell Posts: 1,716
    edited 2014-02-22 19:28
    dgately wrote: »
    Yes, 7.4 amd64 on VMWare.

    Works well, doesn't crash or lock up the Desktop with 3D Accel on. I give it 4 processors and 2GB to run on in VMWare.

    I used VirtualBox in the past, but it's free and sometimes you get what you pay for. Sometimes you get more than what you pay for (i.e. buying from Parallax) but not as often. For me the 39-49$ U.S. per year for VMWare is worth it.


    dgately

    I have VMware workstation on my PC as well, I 'll try it instead of virtualbox, of course that will only address the 3D acceleration issue, not my library issues.

    C.W.
  • potatoheadpotatohead Posts: 10,261
    edited 2014-02-22 19:48
    @rjo_

    There is a permissions layer on Mac OS that lies above the traditional Unix permissions. It's an ACL (access control list), and among other things, it includes "file downloaded from Internet" as not being executable, until it's explicitly made executable.

    The command is xattrib. That one can lift the ACL denying execute permission. I suspect that is the problem. My Mac isn't where I am right now, or I would go and get the info I found for PropGCC. It is somewhere in the P2 threads... If I can find it later, I'll post it up again.

    Suffice it to say, if this ACL system gets invoked on MacOS, the standard Unix chmod command won't be able to set execute permission, until the ACL has been dealt with.

    Edit: WOW! Found it on the first google...

    http://forums.parallax.com/showthread.php/147457-The-WireWorld-Computer?p=1185284&viewfull=1#post1185284

    Do you see an "@" sign in the permissions for the file? If so, you need to read that post.
  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2014-02-22 21:27
    Is it possible to create a permanent home in the Propeller ide for Jazzed's logic analyzer, a pasm debugger, Dave Hein's cspin,
    and possibly spin2c++.

    Or does that create licensing issues like pzst in post #29?


    Bill M.
  • Heater.Heater. Posts: 21,230
    edited 2014-02-22 23:11
    ctwardell,
    How on God's Green Earth does anyone every get anything done on Linux...
    As they say in Finland every time a foreigner complains about how hard learning Finnish is : "It's very easy. Even little children can do it" :)

    For Debian wheezy the correct version of libc is 2.13-38. That is what I have here and on my Raspberry Pi.

    Given that SimpleIDE was built against 2.13 and runs here and you have have 2.13 there as well I'm wondering where that error about 2.14 comes from.

    This is specially weird as 2.14 is not a version in any current Debian package. Debian testing is at 2.17 !!

    Can you run the simpleide directly whilst in the SimpleIDE-0-9-47/bin directory and tell us what comes out on the command line:
    $ cd SimpleIDE-0-9-47/bin
    $ ./simpleide
    
    Can you run:
    dpkg-query -l 'libc-bin'
    
    And tell us what that says.

    Seems we need a new thread for this little detail.
  • jazzedjazzed Posts: 11,803
    edited 2014-02-23 09:18
    Hi. I've found an issue with saving files.

    I recommend not saving any spin files at the moment. I need to sort it out today.

    Will post about a fix when it's available.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-02-23 11:53
    I couldn't open files either on Linux with version I just grabbed to test my toolchain...but you're working on that!

    The good news is that after a long and circuitous path, none of it directly related to PropellerIDE, I am able to build it successfully on Linux Mint 16! Yay!

    The biggest hurdle was that Mercurial was not installed (seriously??) and the mirror my apt-get pointed to has been down for a couple days. Once I was able to grab the source, and FINALLY install a working SimpleIDE to get OpenSpin and Propeller-Load, I was good to go!

    Now I can build PropellerIDE for testing on 3 platforms: Win7, OS X and Linux 64 bit.
  • jazzedjazzed Posts: 11,803
    edited 2014-02-23 12:00
    Hi,

    Key issues: Files save and Item 6 below ... please look at both. Also, please pull/update, build, and test.

    I've updated the repository (changeset is 13:3f73b937260d). For the moment at least, we will just use UTF-16 since that's what PropellerTool uses. In the future, i'll add a type flag to editor so any file can be opened/saved in it's native encoding.

    Now, if you saved a file before, you might consider replacing it with a good copy, otherwise loading the file can take a very, very long time.

    Some interesting changes have been added since yesterday.

    1. Dennis (dgately) sent me a multi-line comment select feature which has been added. Double-click on a { or {{ to see the select, then cut/paste, etc....
    2. The option to cancel quit if a file has not been saved has been added.
    3. Some auto-indent features have been added ... press enter in a line or a single line comment to see the effect.
    4. Added an Edit menu which now contains font controls. Zoom in with CTRL= or CTRL+ and out with CTRL-
    5. The window style has been set to "Fusion" so that it should look the same on all platforms (and grab bars should be visible on windows).
    6. The method display int lower left-hand pane now works much better.

    I need opinions about item 6 ... At the moment you can't display a file by clicking on the file-name, but it could be arranged. It may be useful to +/- each file for folding the method list.

    The big question about item 6 is: Can this replace the currently non-existent file browser in the top-left side panel?

    Thanks.
  • dgatelydgately Posts: 1,629
    edited 2014-02-23 15:13
    jazzed wrote: »
    Hi,

    Key issues: Files save and Item 6 below ... please look at both. Also, please pull/update, build, and test.

    I've updated the repository (changeset is 13:3f73b937260d). For the moment at least, we will just use UTF-16 since that's what PropellerTool uses. In the future, i'll add a type flag to editor so any file can be opened/saved in it's native encoding.

    Now, if you saved a file before, you might consider replacing it with a good copy, otherwise loading the file can take a very, very long time.

    Some interesting changes have been added since yesterday.

    1. Dennis (dgately) sent me a multi-line comment select feature which has been added. Double-click on a { or {{ to see the select, then cut/paste, etc....
    2. The option to cancel quit if a file has not been saved has been added.
    3. Some auto-indent features have been added ... press enter in a line or a single line comment to see the effect.
    4. Added an Edit menu which now contains font controls. Zoom in with CTRL= or CTRL+ and out with CTRL-
    5. The window style has been set to "Fusion" so that it should look the same on all platforms (and grab bars should be visible on windows).
    6. The method display int lower left-hand pane now works much better.

    I need opinions about item 6 ... At the moment you can't display a file by clicking on the file-name, but it could be arranged. It may be useful to +/- each file for folding the method list.

    The big question about item 6 is: Can this replace the currently non-existent file browser in the top-left side panel?

    Would love to do some testing, but I'm waiting patiently to get the Dictation feature update :smile:

    Dictation.jpg



    I guess Qt adds that to Edit menus? I was curious, so I selected Dictation (though the fn fn key part of the menu was even more curious) and it wants to update to "Enhanced Dictation".

    Anyway, I am testing now and have gotten one small program compiled and running on my Activity Board. Of course, this is on Mac OS X (10.9.1 Mavericks) because, why not?

    I'll update on the big question soon...


    dgately
    1024 x 640 - 85K
  • dgatelydgately Posts: 1,629
    edited 2014-02-23 15:37
    2. The option to cancel quit if a file has not been saved has been added.

    Quiting by closing the app window (on Mac OS X) with the Close Button in the top left of the app window works by asking if you want to save your work
    But, closing via the "Quit PropellerIDE" menu item does NOT ask to save changes.

    3. Some auto-indent features have been added ... press enter in a line or a single line comment to see the effect.
    Not seeing this, but maybe the latest source merged with my own commenting-out of the feature, yesterday?

    4. Added an Edit menu which now contains font controls. Zoom in with CTRL= or CTRL+ and out with CTRL-
    Good feature and it stops enlargement at about 90 pts and shrinking to 8 pts (doesn't crash the app)
    Noticed this when I "zoomed in"... Code text is slightly not aligned with number text. Tiny issue, no doubt, but?

    LineNumberAlign.png


    5. The window style has been set to "Fusion" so that it should look the same on all platforms (and grab bars should be visible on windows).
    Not a requirement from my standpoint (A confirmed Mac-anista). Feels a bit like a step backwards, but "flat UIs are the new black, right?

    6. The method display in the lower left-hand pane now works much better.

    I assume that the file list above the method display will stay?

    I was never fond of the file system list in the Propeller Tool. Very antiquated. The open file dialogs of modern OSs offer better ways to search for files. Even those are becoming antiquated in the world of tablets and smart phones. An app really doesn't need to provide file system views (IMHO)...

    And, yes it's nice how it scrolls the method to the center of the editor window and highlights the line above when you click on them!





    dgately
    325 x 244 - 16K
  • Roy ElthamRoy Eltham Posts: 3,000
    edited 2014-02-23 22:37
    It's not a big thing for me, but I do prefer that the GUI be the native one for the OS, instead of forcing the same QUI look across OS versions and making it not look native.

    For number 6. I really like the way it works in VS (or with the Visual Assist X addon), where attached to the top of the window (just below the tabs) is a toolbar that has 2 pulldown menus. One has the list of functions in the current editor window, the other has the scope (which won't really applly for us since we won't have "projects"). But just having one pulldown there would work too. When you pulldown and select an item it moves the editor to show that functions.

    It works really nice, in my opinion, and doesn't take up mush space unless you want it.

    Also, I really like the side panels in prop tool, showing the compiled object set in a tree, the recent directory paths (plus chosen library path), and the list of files in the "current directory". It works really well for dealing with PropTools projectlessness in my opinion.

    Opinions?

    I spent a little time attempting to get background colors working, and I had the basics working for wherever text was att, but it wouldn't fill in the whole area for a line. So I nuked it when I got the latest version, and will possibly try another tactic.
  • Heater.Heater. Posts: 21,230
    edited 2014-02-24 00:05
    Roy,
    One has the list of functions in the current editor window, the other has the scope (which won't really applly for us since we won't have "projects").
    We may not have projects but we certainly do have scope.


    A Spin object lists the sub-objects it uses in the OBJ section. Those sub-objects are available in the current directory or on some search path. Ergo everything that is reachable by an object, it' scope, is fully specified within the object and the search path.


    A scope sensitive "intellisense", "auto-complete" or what ever they call it, need only look at the OBJ section to see what other files to include in the scope. No "project" required.


    As for the look of the thing. I don't mind in fact it's nice to have apps that have there own look rather than all try to be styled similarly. When you have a mess of Windows on the screen obscuring each other you know immediately which one to click on for focus just by it's little style quirks.


    You can select different Qt "themes" that make it look Windows or Mac like, quite easily, So this can be fixed to some extent.
  • Roy ElthamRoy Eltham Posts: 3,000
    edited 2014-02-24 00:26
    Heater,
    Yeah, I know there is scope in spin. ;) And we could do something similar to the two pulldowns I mentioned with a Spin twist to it. Also, part of the reason I want to get the compiler more closely integrated is so that we can do more powerful and intelligent stuff with showing scope, doing syntax highlighting, and autocompletion.

    Currently, all the syntax highlighting is just using regex to identify things, I want to mix in having symbol lists with type info (var, local, pub/pri, etc.). For completion, I want it to work for all symbols.

    Re: app look in OSes... nothing annoys me more than how iTunes tries to make itself look like an OSX app running under windows, and doesn't work like every other damn window running on Windows. It used to be worse, I think they were forced to back off some. I'm fine with windows changing their themes a bit, but don't be moving standard widgets (close, minimize, resize grabbers) around, away from where they are supposed to be when I am using Windows ( or OSX, or Linux ). That's my main complaint about it.
  • Heater.Heater. Posts: 21,230
    edited 2014-02-24 01:14
    Roy,

    Yeah. I know you know:) It's just that thing about the "Spin twist". Seems we can do a lot without a "project". A Spin main module is the project.

    Great plan re: Making the compiler deliver information about the source for syntax high lighting etc. I always thought regexping around in editors to get syntax highlighting and such was a bit of a clunky hack. Seems the Clang developers had the same idea.

    Hope that does not interfere with it being a simple tool usable from the command line.

    No idea about iTunes, never seen one, but yes, are there programs that go over the top in their own "I must stand out" style. Mostly I'd prefer if programs did not look like anything except what they do. If you see what I mean. Buttons and menus getting moved around is annoying.
  • fridafrida Posts: 155
    edited 2014-02-24 02:17
    The formatting is not the same as in SimpleIde with the same file.

    "Added an Edit menu which now contains font controls. Zoom in with CTRL= or CTRL+ and out with CTRL-"

    Could it also be with CTRL and the mouse wheel, like in the Cromebrowser.

    Highligthning in single {} dos not work.
    {word word}
    {{word word}}
    If I change this line from
    commentStartExpression = QRegExp("[^']{*",Qt::CaseInsensitive,QRegExp::Wildcard);
    to
    commentStartExpression = QRegExp("{*",Qt::CaseInsensitive,QRegExp::Wildcard);

    then it works.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-02-24 07:57
    I've pulled the latest (pulled between 7AM ET and 10:30AM ET)and built for both Linux and Mac. In testing I see the same problem.

    I select the 'open file' icon and navigate to the .spin file i want to open, select it and click 'open' from this point on, PropellerIDE hangs in the case of the Mac, I just get the "Rainbow Wheel" and I need to force a quit. This is with the release version. I'll start the debug version from the console and see if there are any messages.

    I haven't gotten a chance to build a new Windows version yet.
  • ctwardellctwardell Posts: 1,716
    edited 2014-02-24 08:34
    I just updated and built on Win7/64.

    The editor does not always work properly when increasing the font size.

    C.W.

    UPDATE: I tried playing with the font because I also noticed that columns do not line up well. If I change from Parallax to Parallax2 everything lines up and I no longer get the jumbled text issue when changing font size.

    PropellerIDE_FontError_Before.png
    PropellerIDE_FontError.png
  • potatoheadpotatohead Posts: 10,261
    edited 2014-02-24 08:59
    This happens in a browser too.

    Do things line up with something like, Lucida Console? How about Courier?

    Both of those fonts vary from the Parallax one in their hinting, and both pass line up and that "scramble on zoom" test. Do we have the source files for the Parallax font? Perhaps we can improve it.
  • dgatelydgately Posts: 1,629
    edited 2014-02-24 09:10
    frida wrote: »
    Highligthning in single {} dos not work.
    {word word}
    {{word word}}
    If I change this line from
    commentStartExpression = QRegExp("[^']{*",Qt::CaseInsensitive,QRegExp::Wildcard);
    to
    commentStartExpression = QRegExp("{*",Qt::CaseInsensitive,QRegExp::Wildcard);

    then it works.

    Frida,

    Ah, I thought Spin used only the double "{{" for comments, so that was all I was selecting. I'll update with your regex!

    Might be interesting to also select opening "(" through closing ")" as well ("[" - "]", too!)...


    Thanks,

    dgately
  • dgatelydgately Posts: 1,629
    edited 2014-02-24 09:13
    potatohead wrote: »
    This happens in a browser too.

    Do things line up with something like, Lucida Console? How about Courier?

    Both of those fonts vary from the Parallax one in their hinting, and both pass line up and that "scramble on zoom" test. Do we have the source files for the Parallax font? Perhaps we can improve it.


    I think the default right now is Courier, right? And, (at least on Mac OS X) does not align line numbers and the code text.


    dgately
  • jazzedjazzed Posts: 11,803
    edited 2014-02-24 09:33
    Lots of good feedback overnight.

    Thanks.
    dgately wrote:
    2. The option to cancel quit if a file has not been saved has been added.


    Quiting by closing the app window (on Mac OS X) with the Close Button in the top left of the app window works by asking if you want to save your work But, closing via the "Quit PropellerIDE" menu item does NOT ask to save changes.
    A fix for that is queued up.
    dgately wrote:
    3. Some auto-indent features have been added ... press enter in a line or a single line comment to see the effect.


    Not seeing this, but maybe the latest source merged with my own commenting-out of the feature, yesterday?
    Ya, your ExIDE.pro merge probably didn't work out. Try turning ENABLE_AUTO_ENTER back on.
    Roy Eltham wrote: »
    It's not a big thing for me, but I do prefer that the GUI be the native one for the OS, instead of forcing the same QUI look across OS versions and making it not look native.
    Ok, maybe use "Fusion" just for windows mainly because the "grabbers" on the the splitter bars are visible there. Native windows grabbers don't exist.
    Roy Eltham wrote: »
    Also, I really like the side panels in prop tool, showing the compiled object set in a tree, the recent directory paths (plus chosen library path), and the list of files in the "current directory". It works really well for dealing with PropTools projectlessness in my opinion.
    Honestly I don't want the folders listed mainly because PropellerTool seems to have trouble with it and removable media. I'd rather not have to worry about that bug :)

    I think the best case is to fill the top-left with the object index and leave the bottom left as it is but add click to open file name which doesn't work. Later it may be useful to have a +/- folding tree but show all by default.
    Roy Eltham wrote: »
    I spent a little time attempting to get background colors working, and I had the basics working for wherever text was att, but it wouldn't fill in the whole area for a line. So I nuked it when I got the latest version, and will possibly try another tactic.
    The best way to do it is to use the setExtraSections function as in Editor::highlightCurrentLine(QColor lineColor)

    I played with it a little too. The thing is, at the moment highlightCurrentLine is being used to zoom and focus lines for errors or showing functions. If that could be changed to some other highlighting method (like you mentioned Roy) then the background would be easier to handle. Do you have a snippet of what you did? I could see using the syntax highlighter's method for it.
    Heater. wrote: »
    A scope sensitive "intellisense", "auto-complete" or what ever they call it, need only look at the OBJ section to see what other files to include in the scope. No "project" required.
    Funny you mention that. It's already in the code ;) I have to test it before turning it back on.
    frida wrote: »
    "Added an Edit menu which now contains font controls. Zoom in with CTRL= or CTRL+ and out with CTRL-"
    I have a diff to change that a bit.
    frida wrote: »
    Could it also be with CTRL and the mouse wheel, like in the Cromebrowser.
    Possibly.
    frida wrote: »
    Highligthning in single {} dos not work.
    {word word}
    {{word word}}
    If I change this line from
    commentStartExpression = QRegExp("[^']{*",Qt::CaseInsensitive,QRegExp::Wildcard);
    to
    commentStartExpression = QRegExp("{*",Qt::CaseInsensitive,QRegExp::Wildcard);

    then it works.
    Thanks! I'll test it.
    mindrobots wrote: »
    I select the 'open file' icon and navigate to the .spin file i want to open, select it and click 'open' from this point on, PropellerIDE hangs in the case of the Mac, I just get the "Rainbow Wheel" and I need to force a quit. This is with the release version. I'll start the debug version from the console and see if there are any messages.
    Rick, this is most likely happening because of the "save" bug which I fixed over the weekend. You need to replace whatever file you tried to open with a fresh one. Sorry. Please verify that works.
    ctwardell wrote: »
    I just updated and built on Win7/64.

    The editor does not always work properly when increasing the font size.
    Ya, I noticed that. Where did you get parallax2? If you have a .ttf file, can you please post it here?

    Thanks again everyone.
  • ctwardellctwardell Posts: 1,716
    edited 2014-02-24 10:07
    jazzed wrote: »
    Ya, I noticed that. Where did you get parallax2? If you have a .ttf file, can you please post it here?

    Not sure where it came from, either a Propeller Tool or SimpleIDE install most likely, I don't recall installing anything else that would have included it.

    C.W.

    parallax2.zip
  • dgatelydgately Posts: 1,629
    edited 2014-02-24 10:33
    jazzed wrote: »




    quote_icon.png Originally Posted by frida viewpost-right.png
    Highligthning in single {} dos not work.
    {word word}
    {{word word}}
    If I change this line from
    commentStartExpression = QRegExp("[^']{*",Qt::CaseInsensitive,QRegExp::Wildcard);
    to
    commentStartExpression = QRegExp("{*",Qt::CaseInsensitive,QRegExp::Wildcard );

    then it works.





    Thanks! I'll test it.

    The change works except for one small issue...

    Double-clicking on a single forward brace "{" will also select one more character in from of the brace. I think I have an idea how to fix this. I'm also fairly certain that having more than two "{{" braces will cause an issue. I'll look at both problems.

    Thanks,
    dgately
  • jazzedjazzed Posts: 11,803
    edited 2014-02-24 10:43
    dgately wrote: »
    The change works except for one small issue...

    Double-clicking on a single forward brace "{" will also select one more character in from of the brace. I think I have an idea how to fix this. I'm also fairly certain that having more than two "{{" braces will cause an issue. I'll look at both problems.

    Thanks,
    dgately

    Just noticed this after pushing a change. Sorry.

    Do pull/update then let me know when you've posted a fix.
  • Roy ElthamRoy Eltham Posts: 3,000
    edited 2014-02-24 10:43
    Steve,
    I was using the BlockState stuff in highlighter. I had switched multi-line comments to being the top bit of the int, and had different values for each spin block type (CON, VAR, OBJ, DAT, PUB, PRI), and then just injected the background color into the formats based on the that. It was just a hack to see if that method would work well enough, and it didn't so I nuked it (don't have the change anymore). I'll try playing with the setExtraSections() thing as well and do something less hacky.

    I think if the side panels must stay, then they need to be tuned/tweaked. Right now when I open a spin file I am working on that happens to use fsrw, the lower side panel gets filled with a billion functions from fsrw and it's spi driver, and it's mostly useless to me. I'd like to see it be a list where the current editor window file's PUBs are roots, and then any included objects are roots that can be expanded to reveal their PUBs (not expanded by default). Although, I'd still prefer the two pulldown approach I tried to explain earlier (and not have the lower left side panel at all, replacing it with something else useful).
  • jazzedjazzed Posts: 11,803
    edited 2014-02-24 10:56
    Roy Eltham wrote: »
    I'd like to see it be a list where the current editor window file's PUBs are roots, and then any included objects are roots that can be expanded to reveal their PUBs (not expanded by default).
    Good idea Roy.
    Roy Eltham wrote: »
    Although, I'd still prefer the two pulldown approach I tried to explain earlier (and not have the lower left side panel at all, replacing it with something else useful).
    Can you post a link to a picture or a snap from your computer. I don't use Microsoft Products anymore except for Windows (which I trust to work more than some alternatives).
  • Roy ElthamRoy Eltham Posts: 3,000
    edited 2014-02-24 11:06
    Here's a screenshot:
    Untitled.jpg


    I have the function list pulldown open, the other pulldown (where is says (Global Scope) in the shot) lists all the classes or other scopes, and when I choose something in it, it filters the right hand pulldown to list only members of the chosen item in the left hand pulldown. If you chose and item from the right hand pulldown it adjusts the editor window focus to that item.
    1024 x 856 - 122K
Sign In or Register to comment.