memacs3.11
Steve Drain (222) 1620 posts |
Remember, Region was an attempt to sketch out a possible way to deal with the problems of Territories. Although it ‘works’, it was not finished to a release standard and it has not even been fully debugged, even by me. ;-) For myself it was also an exercise in mastering Configure plug-ins and writing code system variables. As it modifies copies of soft-loaded modules, it is probably not ‘a good thing’. ;-(
Thanks, I will look at that.
I think so, not without some dodgy assumptions. There is also the problem that the space for such parameters in territory modules is hard-coded and not buffered, so you cannot replace a single character symbol with a two character one. There is a similar situation with time zones. For the way I did things to work effectively the modules would have to be written to accomodate it. A far better way would be data files, as you have suggested.
That is the sort of thing I am refering to. It would have to be official and for all the modules.
Exactly.
Thanks. It may encourage me to return to the fray. One thing I was particularly pleased with was the languge handling, and the Region$Path (or Obey$Path) code to access a heirachy of language resources for applications. |
David Feugey (2125) 2687 posts |
Hum, and what about memacs? :) |
Willard Goosey (5119) 257 posts |
Well, don’t alt-break to exit.:-/ Otherwise it seems to work OK. Unless (like me) you have a fondness for its mutant LOGO scripting, or you’re both a PICO user and a UNIX nerd (me again :), there’s really no reason to use it, esp. since it’s full-screen only. The WIMP-friendly version would be more interesting, but it didn’t have source with it. :-( I might or might not look into this OS_Claim SWI and what memacs does with it. I’m not sure how much would break by simply not calling the key event-handler. |
Rick Murray (539) 13385 posts |
The problem is that Alt-Break savagely nukes the application. If something is claimed using OS_Claim, it must be released before the app terminates or else you’ll have the OS jumping to who knows where. Remember – Alt-Break is what you use when all else fails. There should be a proper way to quit the application… |
Rick Murray (539) 13385 posts |
Uh… Just downloaded the memacs source code to take a look. One thing stands out: (note that this is 26 bit era code)
So we shove PC into R9 (this contains the address and processor flags) and then we ORR in #3 and use TEQP to push the flags to the PSR. Uh, didn’t we just specify SVC mode instread of USR? It should have been a BIC to clear those flags, not an ORR. Though given that we might have interrupts disabled, maybe that ought to simply be That’s probably why the final bit of code (return to previous mode) works, because one can’t jump back into a privileged mode from a non-privileged mode. The MEMC was simplistic, not stupid. :-) So – here’s the question? Are we supposed to be in USR mode here (as the comments indicate) or SVC mode (as the code is doing)? |
Willard Goosey (5119) 257 posts |
I assume the code is running in supervisor mode there, and that it automatically falls back to user mode when this routine returns. At least I hope it does! This function was (according to the comments) originally in a seperate module but got converted into the present form for 3.11. I assumed the whole user_mode thing was left over from that. |
Willard Goosey (5119) 257 posts |
totally removed the non-functional mode-changing code to no effect. I note 2 issues: 2) emacs puts the screen in a weird screen size on exit. |
Rick Murray (539) 13385 posts |
If you’re coming in from an event, then you’re going to be in USR or IRQ mode (I forget which for key press, check the docs), so there’s that to be aware of. More specifically though, why the downgrade to a different mode, that then isn’t what it says?
The keyboard handling is…bizarre.
Check it isn’t making assumptions like considering the “screen mode on entry” to be a byte value or somesuch. |
Willard Goosey (5119) 257 posts |
Source located on drobe.co.uk! (how had I not seen the drobe archives before?) To be accurate, I found two different microemacs ports. fue is uemacs 3.10 with folding support, and it compiled with only single change to the C, and seems to run fine. Full wimp-capable uemacs 3.11 is fighting me harder… Needs to be C99 for the (DDE28) riscoslib headers to parse correctly, but is actually K&R style itself…. |
Sprow (202) 1112 posts |
Not sure that can be the case. Pluto uses RISC_OSLib extensively, and up until 5 months ago we used the C90 standard. You should just need the -c90 switch to make the compiler be happy with K&R. |
Andrew Rawnsley (492) 1403 posts |
Problem with RISC_OSlib is likley that ROOL (or someone) changed a number of function parameters etc historically, so software written for older versions of RISC_OSlib don’t compile cleanly with newer versions. Also, many of the headers etc have been re-factored in ways that didn’t seem 100% compatible with what went before. If you want to bung it over to me, much of my own software is based on a modernised “old” RISC_OSlib, and may well work fine. Failing that, Iota/Datapower stuff uses even earlier RISC_OSlib stuff that we’ve made ARMv7 safe, so might be able to sort it for you. |
Chris Mahoney (1684) 2099 posts |
There’s an app called ToANSI supplied with the DDE which is supposed to convert to the “new” style, but I’ve never needed to use it so don’t know how well it works. |
Willard Goosey (5119) 257 posts |
I’m going to keep playing with it, but you can try yourself from |
Willard Goosey (5119) 257 posts |
I will test toansi. I’ve had reasonably good luck with other knr2ansi filters, but the uemacs source is… odd. |
Willard Goosey (5119) 257 posts |
Because someone might want it… folding microEMACS 3.10 for 32-bit RISC OS. Only tested on ARMv7 Raspberry Pi2. This is full-screen only. |
Willard Goosey (5119) 257 posts |
Playing more with GUI uemacs source… I was not understanding the error. Its not linking yet because outdated paths in the makefile but I need to go to bed now goodnight! |
Willard Goosey (5119) 257 posts |
Got wimp uEMACS to link! Then my old nemesis wimp_setcolour() struck again, setting white text on a white background. I commented out the wimp_setcolour() call and the Template file’s colors work, black text on white background. Then I discovered that reverse video (for the status line) doesn’t work right, with black text on a black background! Disabled reverse video usage and the status line is back. There are various other little GUI things that aren’t quite right. Color isn’t supported, the scrollbar only works to scroll downwards (and the bar itself never moves). |
Willard Goosey (5119) 257 posts |
A couple of notes: More playing around with GCOL actions and I have the status line back in reverse video! But now I see that it can’t find the EMACSRC file… It’s like for every thing I fix I find 3 more things wrong! :-(
|