Upgrading to 3.96n from 3.95z

Get help with the installation and running of the Zeus IDE. Please do not post bug reports or feature requests here. When in doubt post your question here.
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

Hi Alan,
Yeah, I've noticed that the HTML colouring is awkward at best.
The Zeus colorizer was never really designed with HTML in mind so it doesn't do it as well as it should :(
Is there any cause to try and make the XHTML constructs like <br /> and <hr /> colour properly?
I don't think this is possible, without some fairly major re-working of the entire colorizer engine.
I'm kinda avoiding patterns for now. I find they can be very confusing.

They can be good for some things. For example in my c/c++ document type I define the ID* pattern and this means that in code like this all the ID's paint with the same nice color ;):

Code: Select all

#define ID_SIDEBAR         610
#define IDTF_WORKSPACE    6001
#define IDLB_PROJECTFILES 6002
#define IDEF_MAKEFILE     6003
#define IDEF_BSCFILE      6004
Sometimes when I run macros on marked text, the text is no longer maked when the macro is done but the display still shows the marked area. How do I tell things to do a refresh to unmark the seemingly marked area?
Make sure you have a call to the screen_update function at the end of your macro.
I think your string pattern matching is working better. At least with escaped "s it seems to be. Which is nice.
The pattern matching code has had a few changes in recent years ;)

Cheers Jussi
AlanStewart
Posts: 83
Joined: Fri Jun 02, 2006 6:52 pm

Update

Post by AlanStewart »

The colourizer works okay for HTML. It gets the gist across and that's what's most important. Maybe it's not "perfect" but it works for me. I think part of it is because HTML isn't set up like a regular programming language. You'd almost have to fully parse it to figure out what was what.

That's a good use for the patterns. I hadn't thought of that. Too bad there's no way to set up custom patterns for different projects.

Hmm, I am doing a screen_update_enable() at the end of my functions. Is that the wrong function? Hmm, now *THAT*'s annoying. It looks like almost every other macro is using it, but not my comment/uncomment ones. Grrr.

I like the new string pattern matching.

-----
New stuff:

Is there any possibility of setting up some sort of line wrap that *doesn't* put in newlines? I kinda appreciate that that's just not the way Zeus works but I've been doing some XHTML coding and there seems to be a push to have lines wrap so that they appear on the screen but it's really just one long line. Sorta like Notepad I guess. Or HomeSite.

For some reason I'm still having issues with bookmarks disappearing in the bottom half of a split window. I've got F3 mapped to WindowViewSplitHorizToggle. Should I be using something else? I tried this with the Window / Split Vertical and Split Horizontal and they both seem to disable bookmarks in the other window.

1. Get a file of some length, but I don't think it really matters.
2. Place a bookmark, pretty much anywhere.
3. Bring up the bookmark list (BookMarkDisplay) and verify that the bookmark is there.
4. Split the window.
5. BookMarkDisplay to verify.
6. Switch to the other window.
7. BookMarkDisplay shows no bookmarks.
8. Switch back to the top/left window.
9. BookMarkDisplay shows bookmarks.
10. Join so there's no split windows.
11. BookMarkDisplay to verify that the bookmark(s) is(are) still there.
12. Split the window again.
13. Switch windows.
14. BookMarkDisplay shows there's no bookmarks.
15. Join the windows so there's only the one.
16. BookMarkDisplay shows that there's no bookmarks.

Fortunately it's only for the current window that the bookmark(s) disappear. Bookmarks in other windows aren't lost.
AlanStewart
Posts: 83
Joined: Fri Jun 02, 2006 6:52 pm

Update

Post by AlanStewart »

Dang! I keep forgetting all the really great tools you've got in the tools menu! I swear that Zeus is 1000 times greater than I'm even aware of.

WHOA! You got HTML verification! Nice! I'm just learning all about that stuff. This will come in handy. I need to look into that. I need to find something that'll do HTML verification (and CSS) for a complete website, not just one file at a time.

I'm still puzzled by my bookmarking/split window issue. I'm on a completely different machine, running the latest Zeus, and I'm not bringing over all *that* much from my old configurations. Very weird.
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

Hmm, I am doing a screen_update_enable() at the end of my functions. Is that the wrong function?

This is the basic pattern for all Zeus macros:

Code: Select all

function key_macro()
    screen_update_disable()

    -- put your code here

    screen_update_enable()
    screen_update()
end

key_macro() -- run the macro
This macro code turns off screen updates which helps speed up the macro playback. The three screen update functions in the macro above show how to disable screen updates, re-enable screen updates and refresh the screen.
Hmm, now *THAT*'s annoying. It looks like almost every other macro is using it, but not my comment/uncomment ones. Grrr.

Just post the code for one of the smallest of your macros that does not work.
Is there any possibility of setting up some sort of line wrap that *doesn't* put in newlines?
This feature has been asked for several times, so it is on the Zeus todo list. But it is a little difficult to implement and test so it is way down on the list of things todo :(
For some reason I'm still having issues with bookmarks disappearing in the bottom half of a split window.
When you split the screen the line numbers and bookmarks margins disappear, but you should still be able to get to them via the bookmark dialog.
Split Vertical and Split Horizontal and they both seem to disable bookmarks in the other window.

Ok I can see the problem now :)

The bookmarks are not so much disabled as not copied over to the new view. For example if you display the bookmarks dialog on the other view it will show there are no bookmarks for that view and that is the problem ;)

Cheers Jussi
AlanStewart
Posts: 83
Joined: Fri Jun 02, 2006 6:52 pm

Update

Post by AlanStewart »

I've gone and copied that macro code into my stub so that I don't forget for next time. Silly me! Although I still seem to be having my problems with the mark not being cleared after a macro is run, even after putting screen_update() in where it should be. I gotta look more into that.
When I get something positively identifyable I'll let you know.

Bummer about the linewraps but I do understand.

Okay, I'm glad I was able to show where my bookmarks were disappearing. Hopefully that'll be a quick and easy fix for the next update.
AlanStewart
Posts: 83
Joined: Fri Jun 02, 2006 6:52 pm

Update

Post by AlanStewart »

I think I'm getting to the end. I've got most of the file types worked out and am just finishing up my main macroes.

Hmm, this is funny. 3.95z exported my extra C++ keywords as
"BOOL__int64long64size_tstringwstring"

Only, not. If I pasted that string into here or changed Zeus to read UNIX files and edited the import file then it's line-by-line. Only the import to 3.96n keywords still treats it like one string. Does the import not check for UNIX style imports? At any rate I got 'em entered so that's cool.

Man, Regex's are a tough nut to crack.
I'm trying to match all hex and decimal numbers but all I can do is get it match CSS colour values. I'll have to look at it some more later I guess.
(#[0-9A-Fa-f]+)|([0-9]+)

Still, I was able to import all the keywords from a .SYN file like you suggested so that makes me very happy!

Okay, that's it. I think I've got everything moved over that I need to. The next step is to work away at things and see what doesn't work "the way it used to". This is so nice to finally be working with the latest Zeus again!
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

Hi Alan,
Hmm, this is funny. 3.95z exported my extra C++ keywords as "BOOL__int64long64size_tstringwstring"

Looks like a bug to me :(
Does the import not check for UNIX style imports?
Ok that's the bug. The import assume a MS-DOS text file format. That should be easy enough to fix :)
Man, Regex's are a tough nut to crack.
I am no regexp guru, but I have found that it is not always possible to get a single regexp to do exactly what you want.
I'll have to look at it some more later I guess.

If you post a snippet of example code I'd be happy to give it a shot ;)
This is so nice to finally be working with the latest Zeus again!
It's good to have you back :)

Cheers Jussi
AlanStewart
Posts: 83
Joined: Fri Jun 02, 2006 6:52 pm

Update

Post by AlanStewart »

Yeah, it does look like the EOL handling is a bit off. I can appreciate needing a /r/n when we were dealing with teletypes, but really, shouldn't that silliness have disappeared, oh, around 30 years ago???

I always liked the Brief regex's because they were *SIMPLE*, but even with them, I couldn't always get what I wanted. There's got to be *SOMEONE* out there who can provide you with Brief regex handling?

Code: Select all

body
{
   background-color: #868;
   color: #000;
   font-size: 1.0em;
   font-family: verdana, arial, sans-serif;
   margin: 2.0em;
}
.content
{
   background-color: #C8D;
   width: 80%;
   margin-left: auto;
   margin-right: auto;
   padding: 20px;
}
So in there we have examples of #000, 1.0em, 80%, and 20px, all of which it sure would be nice if I could get 'em all to show up as numbers. Maybe I should just try getting each of them to work and *then* combine 'em all? I'll see what I can do with that.

Or is it just that these numbers (#C8D, 20px, 80%, 1.0em) aren't numbers surrounded by whitespace?

Hmm, okay, this kinda works:

Code: Select all

(#[0-9A-Fa-f]+)|([0-9]+\.*[0-9]*(em|px|%)*)
P.S. This is annoying. I know you want to cut out the spammers, but isn't there some way to make PHPBS know the difference between submitting and *editing* something right after submitting the same entry?
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

Hi Alan,
(#[0-9A-Fa-f]+)|([0-9]+\.*[0-9]+(em|px|%)*)
This looks good to me (ie it should work) but make sure the # character is not defined as delimiter character.
P.S. This is annoying. I know you want to cut out the spammers, but isn't there some way to make PHPBS know the difference between submitting and *editing* something right after submitting the same entry?
Unfortunately spammers are the curse of PHPBS forums :(

I have the message flood period is currently set to about a minute, so if you get the too soon to post message just use the browser back button and wait a few more seconds ;)

Cheers Jussi
Post Reply