jduro@bds-ny.UUCP (Jacques Durosier) (03/20/89)
[Please do not follow up to comp.archives, as this discussion no longer belongs here. tww] In article <37151@bbn.COM> Mike Thome <uunet!ames!mailrus!vax.bbn.com!mthome> writes: >In article <451@mjbtn.MFEE.TN.US> root@mjbtn.MFEE.TN.US (Mark J. Bailey) writes: >>I saw on the net recently that Jove was available now at version 4.11. > >Um - actually the current version is 4.12 and is available via anonymous >ftp at cs.rochester.edu in pub/jove-4.12.tar.Z or somesuch. Forgive my ignorance... Would a Jove guru be kind enough to post a list of enhancements, bug fix(es), new feature(s) present in version 4.12, which were not part of version 4.09. (Probably, the above may be part of the version 4.12 release notes.) We have been using Jove 4.09 and have been quite pleased with it, although we could not benefit from the interactive shell features (Sys V system). Thanks in advance. -- Jacques -- Jacques A. Durosier bds-ny!jduro BDS 718 604 1900 uunet!bds-ny!jduro (WEEKLY) Brooklyn NY {philabs,rutgers,cmcl2}!{phri,hombre}!marob!bds-ny!jduro (that is an ell^)
jpayne%flam@Sun.COM (Jonathan Payne) (03/23/89)
In article <171@bds-ny.UUCP> uflorida!gatech!uunet.uu.net!bds-ny!jduro (Jacques Durosier) writes: > > [Please do not follow up to comp.archives, as this > discussion no longer belongs here. tww] > >In article <37151@bbn.COM> Mike Thome <uunet!ames!mailrus!vax.bbn.com!mthome> writes: >>In article <451@mjbtn.MFEE.TN.US> root@mjbtn.MFEE.TN.US (Mark J. Bailey) writes: >>>I saw on the net recently that Jove was available now at version 4.11. >> >>Um - actually the current version is 4.12 and is available via anonymous >>ftp at cs.rochester.edu in pub/jove-4.12.tar.Z or somesuch. > >Forgive my ignorance... Would a Jove guru be kind enough to post a list >of enhancements, bug fix(es), new feature(s) present in version 4.12, >which were not part of version 4.09. > >(Probably, the above may be part of the version 4.12 release notes.) > >We have been using Jove 4.09 and have been quite pleased with it, although >we could not benefit from the interactive shell features (Sys V system). > >Thanks in advance. -- Jacques >-- >Jacques A. Durosier bds-ny!jduro >BDS 718 604 1900 uunet!bds-ny!jduro (WEEKLY) >Brooklyn NY {philabs,rutgers,cmcl2}!{phri,hombre}!marob!bds-ny!jduro > (that is an ell^) Hi. I think you mean jove version 4.9 instead of jove 4.09. Anyway, here's a list of features since 4.9, as described by rlog: revision 4.12 date: 89/02/13 09:46:15; author: jpayne; state: Exp; lines added/del: 3/1 Ansi C-ified. Also minor addition to scroll-region-{left,right} now uses numeric argument if one is supplied to figure out how far to indent. ---------------------------- revision 4.11 date: 89/01/18 15:11:10; author: jpayne; state: Exp; lines added/del: 1/1 new c-mode, shift-region-{left,right}, dbx-mode, deleted find-files-read-only variable, uses getpwent to look up home directories. ---------------------------- revision 4.10 date: 88/10/21 14:22:54; author: jpayne; state: Exp; lines added/del: 1/1 real keymaps now new mail checking algorithm better handling of modeline with SG's changed meaning of %e in modeline deleted ansi-codes read-only mode new pipeprocs mechanism added C-X 4 C-T **************************************** OK, in english now. Version 4.10. Has real keymaps. That is, you can create keymaps and give them names, and then bind those keymaps to keys. The interface still rots because, well, for instance, you can't just hand some command a string of characters and have it build a sequence of keymaps for you. In other words, you have to build all your maps by hand. Also, there are no sparse maps, so, with some of the weirder key sequences you will get a HUGE number of maps. In order to motivate myself to get my butt in gear and make smarter keymaps, I deleted the ansi-codes kludge. But it didn't work. Smarter mail checking algorithm now. It hardly ever lies. And when it does, it only lies for a minute or two. Handles standout mode with terminals like telerays better. It seems not to be completely right, for some reason, but at least it has a clue now. %e in the modeline used to mean, Fill the rest of the line with spaces. This was to have the modeline fill up the entire screen. Now %e means Equally divide any remaining white space at the end of the line between all the occurrences of %e in the modeline. In other words, put %e at the beginning and %e at the end, and you have a centered modeline. Added read-only mode. When a file is read-only, jove puts the buffer in read-only mode. That means you can't make any modifications to the buffer. I like it a lot, especially in an SCCS/RCS environment. You can turn read-only on or off with a command. New interative processes no longer rely on the Berkeley signal mechanism. In other words, they should run fine on system V machines. The way it works now (for nonPTY systems) is that it reads ALL input over a single multiplexed pipe. This includes keyboard input. When JOVE starts up it fires up a kbd process which sends the keyboard input to JOVE. This isn't as bad as it might seem, because JOVE's also smart enough to stop that keyboard process and do the reads directly itself, when there are no subprocesses running. It seems to run plenty fast enough, but I only tested it in a Sun environment, so I am not sure. In particular, I don't know whether pipes are still handled as UNIX files in Bell unix or what ... Added C-X 4 C-T to find-tag-at-point-in-other-window. The whole C-X 4 business is complete garbage, but it gets the job done. **************************************** Version 4.11. Added a new C mode. This C mode is smarter about indentation. I don't want to go into the details of things that now work the way you would expect them to. But the additions are what happens when the unmatched paren/brace is a paren. Before it just ignored unmatched parens. Now it indents according to the value of a variable: c-argument-indentation. The default value is -1, which means Align the arguments. For instance: if ((a == b) && (c == d) && (e == f)) { do some stuff; } The (e == f) was automatically tabbed to where it is in this picture. If the value is not -1 it says add that much to the indent of the line with the matching paren. So if you always indent continuing lines with 4 spaces, you would set it to 4. I realize that you can't set it to -1 in order for it to de-indent by 1, but, well them's the breaks. If JOVE had an extensions language this wouldn't be a problem. More on that later. C-indention-increment specifies how much to indent for each level in C mode. This has been around for a while, but now it works. This changes how tab behaves in some instances. For instance, if you are at the beginning of a line and hit tab, it will indent one leve further than the current indent of the line, and leave you at the indent of the line. It's almost always what you want (or at least what I want). Shift-region-{left,right}. This is a good way to shift regions of text or code in or out one level of c-indentation-increment. It uses the value of c-indentation-increment even when you aren't in C mode. What a crock, but oh, well. You can specify a numeric argument and it will indent the region by that amount. Added dbx-mode. Things were already set up for it in a serious way, so I added dbx mode. There is a variable called dbx-format-string and JOVE uses that string to parse the output from dbx. It pops up a window with the right file and line number, for stepping through code, or issuing the "where" command. I was trying to think of a way to make it so that when you say "where" it actually creates a bunch of "errors" for the {current,previous,next}-error commands, so that you can actually move up and down the calling stack, but there were some timing problems that I couldn't think of a way around. Uses getpwent for looking up user names, so no more yuckiness in a Sun YP environment. **************************************** Version 4.12. Ansi C-ified the JOVE code. Not completed yet, but almost there. I haven't done any of the work in this department since I don't have an ansi C compiler. That's about it for 4.12. A major problem is that JOVE no longer works on the IBM PC ... this is not a permanent condition. Hopefully it will get solved soon, but until then you're out of luck. Sorry 'bout that. Now as far as extensibility is concerned, no, I am not thinking of adding a LISP interpreter to JOVE. Why write GNUemacs when there's already a perfectly good one out there? The problem is, it's just ridiculous to be adding little stupid features to JOVE, that maybe some people like, and some don't. I usually add the ones I like regardless of how other people feel (within reason). So, well, I have decided that I am going to write a PostScript interpreter and then rewrite JOVE from scratch around that interpreter, and use PostScript as it's extensions language. You might laugh, and I hope you feel better after, but, well I LOVE programming in postscript. Also, PostScript is trivial to implement, in fact I am nearly done. But it's the perfect language for an editor. The philosophy of JOVE will still be the same. Most of everything will be implemented in C the way it is now, but at least now there will be ways to do more than just keyboard macros. And I won't have to keep adding features to the C code anymore, features which screw up other people. JOVE will also be no bigger than the current size. I plan a complete rewrite, so it should be better organized. And it will use a simpler buffer storage algorithm, which should simplify a lot of commands a great deal. Also, it not run on pdp11's anymore. Anyway, that's my plan. I have had a blast with the postscript interpreter so far (oh, this will be postscript without the graphics primitives, of course) so I am hoping that some of the momentum will help me get started on the new version of JOVE. I don't care if anybody uses this new version. I can't see why you would, but, well, just so you know, it's what I am doing in my spare time. Sorry this is so long, but at least this probably answers a lot of peoples' questions.