[comp.sys.amiga] Switching to NewShell ..

dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) (03/09/89)

	Well, I have taken the plunge and decided to switch from using my
shell to using NewShell + NewCon.  My old configuration was my shell + ConMan.

	So far the new shell is close enough (read: I can live with what I
lost from my shell) that I find myself quite comfortable with it.  Using it,
Resident, and Rez together make a good combination and in general things are
much faster than with the old configuration.

	I'm also hoping my system will be more stable.

	NOTE: it appears you cannot use the PATH: device with NewShell..
causes commands to Guru.  No big loss...

    My main reasons for switching are:

	* lightning quick startup

	* script files are almost indistinguishable from executables, and
	  with run and execute resident, start up at the speed of sound.

	* aliases, script files, and newcon history integrate together well.

	* lower memory usage, even when I make lots of things resident.  And
	  I can choose whether to use Rez or Resident depending on various
	  factors (for instance, I have to use Rez to make DME, CC, AS, LN,
	  etc... resident).

    Disadvantages so far:

	* no automatic file name expansion

	* some AmigaDOS commands are slightly convoluted (copy, list, dir)
	  but I can always write my own replacements..

	* stupid line parser (e.g. trailing spaces are not ignored)

	* no high level constructs in interactive mode (outside a script file)

	* variable handling .. what variable handling!

    All in all, good job C-A!

					-Matt

eachus@mbunix.mitre.org (Robert Eachus) (03/10/89)

In article <8903090702.AA22197@postgres.Berkeley.EDU> dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) writes:

>	Well, I have taken the plunge and decided to switch from using my
>shell to using NewShell + NewCon.  My old configuration was my shell + ConMan.

     Within a week of getting WB 1.3 I discovered that it is
relatively easy to use ConMan in place of NewCon: with the CA Shell,
and I have been doing it ever since. You just have to invoke it with
"CON:0/0/..." either on the command line or in the Shell.info (or in
DMouse). Since alias and Startup-Sequence can be used to do this
automatically, I did it once then forgot about it.  The DMouse command
line is probably the trickiest.  I currently use:

DMouse -C NewShell "<nil: >nil: CON:0/0/660/180/RIEachus S:PopShell"
{Your name and sizes may vary, but I actually use two calls to DMouse
 in my startup, since placement on this one seems critical.  Must be
 last, but strange things happen if you go beyond about the 150th position.}

>	NOTE: it appears you cannot use the PATH: device with NewShell..
>causes commands to Guru.  No big loss...

     I think that's with NewCon: at least if we are talking about the
same PATH: device.

>    My main reasons for switching are:

>	* lightning quick startup

    You can say that again with NewShell, Path, and Run in RAD:C,
DMouse takes less than a second to pop-up a shell window (and another
2+ seconds to execute two scripts, one 7-lines the other a 26-line
S:Shell-Startup).  C: and S: are assigned to RAD: of course. (It seems
silly that the governing factor for the assign of C: is where you want
Run.  I have 6 commands in RAD:C, but that is where the assign goes.
Two of the commands there are assign and path for when I foul up...
:-)

>	* script files are almost indistinguishable from executables, and
>	  with run and execute resident, start up at the speed of sound.

     Agreed! Except that I only have one Run in RAM (in RAD:).

>	* aliases, script files, and newcon history integrate together well.

>	* lower memory usage, even when I make lots of things resident.  And
>	  I can choose whether to use Rez or Resident depending on various
>	  factors (for instance, I have to use Rez to make DME, CC, AS, LN,
>	  etc... resident).

     I haven't found anything other than L:Shell-Seg and Execute that
need Resident, and I haven't checked whether it's just one of them.

>    Disadvantages so far:

>	* no automatic file name expansion

     This is the only one I miss...

>	* some AmigaDOS commands are slightly convoluted (copy, list, dir)
>	  but I can always write my own replacements..

     Copy is fixable by alias, I only use the CA version of dir when I
have a gun to my head :-)
. 
>	* stupid line parser (e.g. trailing spaces are not ignored)

>	* no high level constructs in interactive mode (outside a script file)

>	* variable handling .. what variable handling!

>    All in all, good job C-A!

>					-Matt

     And good job Matt, on the things you've done.

					Robert I. Eachus

mp1u+@andrew.cmu.edu (Michael Portuesi) (03/17/89)

eachus@mbunix.mitre.org (Robert Eachus) writes:

>      Within a week of getting WB 1.3 I discovered that it is
> relatively easy to use ConMan in place of NewCon: with the CA Shell,
> and I have been doing it ever since. You just have to invoke it with
> "CON:0/0/..." either on the command line or in the Shell.info (or in
> DMouse). Since alias and Startup-Sequence can be used to do this
> automatically, I did it once then forgot about it.

A better way to use the C-A Shell with Conman is to replace the entry
for NEWCON: in your Mountlist with the following:

NEWCON: Handler      = L:ConHandler
      StackSize      = 600
      Priority       = 5
      GlobVec        = 0
#


Now any reference to NEWCON: will get you a Conman console handler
instead.  No need for aliases and funky commands.

> >       * lightning quick startup
> 
>     You can say that again with NewShell, Path, and Run in RAD:C,
> DMouse takes less than a second to pop-up a shell window (and another

By using the 1.3 RESIDENT command to make Path and Run resident, you
will save both time (loading the file from RAD: takes additional time)
and memory space (a copy in RAD: and an executing copy take up twice
as much memory as just one copy).

>      I haven't found anything other than L:Shell-Seg and Execute that
> need Resident, and I haven't checked whether it's just one of them.
> 
Nothing needs to be made Resident, but if you're using the Shell it's
probably a better choice than RAD:C.


--
Michael Portuesi / Information Technology Center / Carnegie Mellon University
INET:   mp1u+@andrew.cmu.edu / BITNET: mp1u+@andrew
UUCP:   ...harvard!andrew.cmu.edu!mp1u+

	"You just don't get off a spaceship and run." --Avon

joe@dayton.UUCP (Joseph P. Larson) (03/21/89)

Does anyone know if I can make any of the Manx C programs resident?  That
is, z, make, cc, as, or ln?  (I was just going to try it and see what happens,
but if someone *knows*.)

Under 1.2, I toss all these into ram:, but if I can make them resident
instead....

Ah well.  I just bought the upgrade over the weekend and haven't really
played with it yet.  It took me several hours one day to make my custom
1.2 w/ Aztec CLI disk, so I'm sure it'll take me a while to make a 1.3
w/ Aztec SHELL disk....  Now, what can I throw away to make room for
the Aztec programs.....

-Joe
-- 
Rushdie: Wonderful!  You're going to kill me.  What a finely-tuned response
		 to the situation.  (What he should have written?)
UUCP: rutgers!dayton!joe   (Feed my          DHDSC - Joe Larson/MIS 1060
ATT : (612) 375-3537       pict collection)  700 on the Mall, Mpls, Mn. 55402

poirier@giants.dg.com (Charles Poirier) (03/21/89)

In article <YY80zay00VsEQ0eN9e@andrew.cmu.edu> mp1u+@andrew.cmu.edu (Michael Portuesi) writes:
<eachus@mbunix.mitre.org (Robert Eachus) writes:
<>      I haven't found anything other than L:Shell-Seg and Execute that
<> need Resident, and I haven't checked whether it's just one of them.
<> 
<Nothing needs to be made Resident, but if you're using the Shell it's
<probably a better choice than RAD:C.

I assumed "need Resident" was meant in the sense that Goodnow's REZ
didn't like them but Resident did.  REZ usually accepts almost anything --
don't ask me why.

	Charles Poirier

darin@nova.laic.uucp (Darin Johnson) (03/22/89)

In article <4282@xyzzy.UUCP> poirier@dg-rtp.dg.com (Charles Poirier) writes:
>I assumed "need Resident" was meant in the sense that Goodnow's REZ
>didn't like them but Resident did.  REZ usually accepts almost anything --
>don't ask me why.

Because it does a lot more than 'resident' and has some more smarts.
'resident' will take things with the pure bit set and believe you.

As far as REZ accepting almost anything, he REZ docs explain better
than I can how it does this.  It will even work for some pretty
stubborn programs by only allowing one copy running at a time and
rebuilding the data segment when finished.  The only program that I
made resident that didn't quite work, was Mg2a, which worked just fine
when I recompiled it with an option to put all string constants in the
data segment.

Darin Johnson (leadsv!laic!darin@pyramid.pyramid.com)
	Can you "Spot the Looney"?