[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: log of a newbie 02/15/99

Ann K. Parsons asks: 

    ... how does one save a file and close that application without
    closing emacs?

This is another interesting question.  Emacs provides you with two
kinds of application.  Most you need never close; others you do close.

  * You do not need to close applications run directly by Emacs.

  * You may need to close applications running in the `outside world'
    for which Emacs provides a shell or terminal buffer that you are
    using to control the application.

Emacs itself is an integrated computational environment.  It provides
calender, calculational, web browsing, mail, and other applications,
including the editing services for which it is best known.  Most of
the applications you run in Emacs are programs written in Emacs Lisp.
These programs are run by a portion of Emacs, called the
`interpreter'.  You do not need to close these applications.  They are
over when they are over.

A minor digression on terminology: other jargon words for `run' are
`execute' and `evaluate'.  `Evaluate' is the most commonly used word.

Emacs Lisp programs are known as `expressions' and `forms'.
Collections of Emacs Lisp programs are held in files called
`libraries'.  The word `load' is often used to mean `run' the
collection.  Thus, when you `load a library' you evaluate the
expressions in a file, that is to say, you run the programs in the

Generally speaking, you must first load a library before you can use
the applications provided by that library.  The process of loading
sets things up so the applications are ready for you.  Most libraries
are loaded automatically, but some you must load yourself.

Now, back to the main thread.  Applications provided by Emacs, such as
mail or incremental search, need never be closed.  Emacs runs those
programs as needed and does not run them when not needed.  Indeed,
no one even uses the concept of `closing' such an application.
These applications are written in Emacs Lisp.

Emacs also incorporates applications that include programs that
operate outside of Emacs.  These outside programs are not written in
Emacs Lisp.

For example, the Emacs `find-file' command (bound to Control-x
Control-f) lets you edit a file on a remote machine as if it were a
local file.  This program uses `ftp', a program that can run
separately from Emacs.  You do not need to worry about opening or
closing the `ftp' program.  Indeed, under normal circumstances, there
is no reason for you to know that `find-file' is making use of the
`ftp' command; its actions are invisible to you.

Finally, there are the applications that you should remember to close.
These are programs for which you are using Emacs as a user interface.
Most commonly, you start these applications in a shell or terminal
buffer.  When you run a program in a shell or terminal buffer, you are
going through Emacs into the outside world.  The program is `out
there'; it is not controlled by Emacs, which is only providing a
terminal or shell for it.

I suspect your LambdaMOO is a program of this sort, not controlled by
Emacs, but reached through Emacs.  Also I would guess that you should
close your LambdaMOO session when you are finished with it.  (I may be
wrong about this.  Note that you do not need to close your LambdaMOO
session when you switch buffers to run another application in Emacs;
you can leave the LambdaMOO open and switch back to it whenever you
wish.  If you do need to close your LambdaMOO session manually, you
only need to close it when you log out.)

Over time, more and more programs that were first run through shell or
terminal buffers come to be incorporated into Emacs as `modes'.  For
example, I remember first running `ftp' in an Emacs shell buffer.  It
was not until the late 1980s that Andy Norman extended the original
`find-file' command (with a Emacs Lisp library called `ange-ftp.el')
so that Emacs now does the work that you, a human, previously had to
do by hand in a shell buffer.

I won't be surprised if someone writes a `lambdaMOO-mode' for Emacs.
This mode will automate all the routine stuff so that from your point
of view, it is as if you were running a program that is a native part
of Emacs.  (Perhaps someone has written such a mode, but I don't know
about it!)

Best wishes.


    Robert J. Chassell                  bob@rattlesnake.com
    Rattlesnake Enterprises             http://www.rattlesnake.com

       To unsubscribe or change your address send mail to
"emacspeak-request@cs.vassar.edu" with a subject of "unsubscribe" or "help"

Emacspeak Files | Subscribe | Unsubscribe