unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* first emacs lisp script:  hello world
@ 2007-12-07 15:11 Stewart Haddock
  2007-12-07 17:18 ` Lennart Borgman (gmail)
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Stewart Haddock @ 2007-12-07 15:11 UTC (permalink / raw)
  To: help-gnu-emacs


[-- Attachment #1.1: Type: text/plain, Size: 299 bytes --]

All right.. Here comes the new guy.

 

I downloaded emacs, but I can not figure out how to create a hello world
script and run it.   I know this is incredibly basic, but when you are
doing this stuff by yourself it is not always obvious.   Can someone
point the way?

 

Stewart

 


[-- Attachment #1.2: Type: text/html, Size: 2046 bytes --]

[-- Attachment #2: Type: text/plain, Size: 152 bytes --]

_______________________________________________
help-gnu-emacs mailing list
help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-07 15:11 first emacs lisp script: hello world Stewart Haddock
@ 2007-12-07 17:18 ` Lennart Borgman (gmail)
  2007-12-07 17:29 ` Eric Hanchrow
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Lennart Borgman (gmail) @ 2007-12-07 17:18 UTC (permalink / raw)
  To: Stewart Haddock; +Cc: help-gnu-emacs

Stewart Haddock wrote:
> All right.. Here comes the new guy.
> 
>  
> 
> I downloaded emacs, but I can not figure out how to create a hello world 
> script and run it.   I know this is incredibly basic, but when you are 
> doing this stuff by yourself it is not always obvious.   Can someone 
> point the way?


Maybe

   http://www.emacswiki.org/cgi-bin/emacs-en?CategoryCode

or a simple hello-world:

   (defun hello-world()
     (interactive)
     (message "Hello!"))

put that in your *Scratch* buffer, do

   M-x eval-buffer

and then

   M-x hello-world

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-07 15:11 first emacs lisp script: hello world Stewart Haddock
  2007-12-07 17:18 ` Lennart Borgman (gmail)
@ 2007-12-07 17:29 ` Eric Hanchrow
  2007-12-07 17:44 ` Peter Dyballa
       [not found] ` <mailman.4724.1197050200.18990.help-gnu-emacs@gnu.org>
  3 siblings, 0 replies; 14+ messages in thread
From: Eric Hanchrow @ 2007-12-07 17:29 UTC (permalink / raw)
  To: help-gnu-emacs

>>>>> "Stewart" == Stewart Haddock <SHaddock@corp.web.com> writes:

    Stewart> All right..  Here comes the new guy.  I downloaded emacs,
    Stewart> but I can not figure out how to create a hello world
    Stewart> script and run it.  I know this is incredibly basic, but
    Stewart> when you are doing this stuff by yourself it is not
    Stewart> always obvious.  Can someone point the way?

Depends what you mean by "script".  If you mean a standalone program
that you can invoke from the operating-system shell, then ... even if
it's theoretically possible to do that, I don't think you want to.
Ugh.  But if, on the other hand, you just mean "a function I can
invoke from within Emacs that displays \"hello world\" somewhere",
there are lots of ways.  Take a look at "An Introduction to
Programming in Emacs Lisp", specifically the node named "1.2 Run a
Program".  If you're reading this message in Emacs 22 at this very
minute, you can easily view that node by putting your cursor at the
end of the following Lisp expression, and typing C-x C-e:

       (info "(eintr)Run a Program")

-- 
... advocating Object-Oriented Programming is like advocating
Pants-Oriented Clothing.
        -- Steve Yegge

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-07 15:11 first emacs lisp script: hello world Stewart Haddock
  2007-12-07 17:18 ` Lennart Borgman (gmail)
  2007-12-07 17:29 ` Eric Hanchrow
@ 2007-12-07 17:44 ` Peter Dyballa
       [not found] ` <mailman.4724.1197050200.18990.help-gnu-emacs@gnu.org>
  3 siblings, 0 replies; 14+ messages in thread
From: Peter Dyballa @ 2007-12-07 17:44 UTC (permalink / raw)
  To: Stewart Haddock; +Cc: help-gnu-emacs


Am 07.12.2007 um 16:11 schrieb Stewart Haddock:

> I downloaded emacs, but I can not figure out how to create a hello  
> world
> script and run it.

	emacs -nw -Q -eval '(message "ORBIS SALUTE")' ?

--
Greetings

   Pete

Real Time, adj.:
	Here and now, as opposed to fake time, which only occurs there and  
then.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
       [not found] <mailman.4714.1197046346.18990.help-gnu-emacs@gnu.org>
@ 2007-12-07 18:04 ` Joel J. Adamson
  2007-12-07 18:08 ` Xah Lee
  1 sibling, 0 replies; 14+ messages in thread
From: Joel J. Adamson @ 2007-12-07 18:04 UTC (permalink / raw)
  To: help-gnu-emacs

"Stewart Haddock" <SHaddock@corp.web.com> writes:

> All right.. Here comes the new guy.
>
> I downloaded emacs, but I can not figure out how to create a hello
> world script and run it.  I know this is incredibly basic, but when
> you are doing this stuff by yourself it is not always obvious.  Can
> someone point the way?

Have you tried the tutorial?  If you're really interested in Emacs Lisp,
see
http://www.gnu.org/software/emacs/emacs-lisp-intro/html_mono/emacs-lisp-intro.html.
It should also be included as an info file in your installation (as long
as you installed Emacs 22 or above).  [f1] i should get you the info
browser.

HTH
Joel

-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script: hello world
       [not found] <mailman.4714.1197046346.18990.help-gnu-emacs@gnu.org>
  2007-12-07 18:04 ` Joel J. Adamson
@ 2007-12-07 18:08 ` Xah Lee
  1 sibling, 0 replies; 14+ messages in thread
From: Xah Lee @ 2007-12-07 18:08 UTC (permalink / raw)
  To: help-gnu-emacs

See:

Emacs Lisp Basics
http://xahlee.org/emacs/elisp_basics.html

  Xah
  xah@xahlee.org
\xAD\xF4 http://xahlee.org/

On Dec 7, 7:11 am, "Stewart Haddock" <SHadd...@corp.web.com> wrote:
> All right.. Here comes the new guy.
>
> I downloaded emacs, but I can not figure out how to create a hello world
> script and run it.   I know this is incredibly basic, but when you are
> doing this stuff by yourself it is not always obvious.   Can someone
> point the way?
>
> Stewart

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
       [not found] ` <mailman.4724.1197050200.18990.help-gnu-emacs@gnu.org>
@ 2007-12-07 22:06   ` Joel J. Adamson
  2007-12-07 23:52     ` Eric Hanchrow
       [not found]     ` <mailman.4745.1197071540.18990.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 14+ messages in thread
From: Joel J. Adamson @ 2007-12-07 22:06 UTC (permalink / raw)
  To: help-gnu-emacs

Eric Hanchrow <offby1@blarg.net> writes:
> Depends what you mean by "script".  If you mean a standalone program
> that you can invoke from the operating-system shell, then ... even if
> it's theoretically possible to do that, I don't think you want to.

#!/usr/bin/emacs --script
(message "Hello Biscuit-lovers!")

An actual transcript from my shell:
joel@W0053328:~/lisp/el% chmod +x biscuit.el 

joel@W0053328:~/lisp/el% ./biscuit.el 

Hello Biscuit-lovers!

I rest my case.
Joel

-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-07 22:06   ` Joel J. Adamson
@ 2007-12-07 23:52     ` Eric Hanchrow
       [not found]     ` <mailman.4745.1197071540.18990.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 14+ messages in thread
From: Eric Hanchrow @ 2007-12-07 23:52 UTC (permalink / raw)
  To: help-gnu-emacs


    #!/usr/bin/emacs --script
    (message "Hello Biscuit-lovers!")

Waal, shoot, Jackson; ah dint know 'bout thet thar --script option.

-- 
He who refuses to do arithmetic is doomed to talk nonsense.
        -- John McCarthy

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
       [not found]     ` <mailman.4745.1197071540.18990.help-gnu-emacs@gnu.org>
@ 2007-12-10 16:34       ` Joel J. Adamson
  2007-12-10 18:39         ` thorne
  2007-12-11 16:08         ` Exal de Jesus Garcia Carrillo
  0 siblings, 2 replies; 14+ messages in thread
From: Joel J. Adamson @ 2007-12-10 16:34 UTC (permalink / raw)
  To: help-gnu-emacs

Eric Hanchrow <offby1@blarg.net> writes:

>     #!/usr/bin/emacs --script
>     (message "Hello Biscuit-lovers!")
>
> Waal, shoot, Jackson; ah dint know 'bout thet thar --script option.

It's pretty sweet, and I got the impression that it's a fairly new
feature since there's very little about it on EmacsWiki.  I've already
written a couple shell-scripts in it.

Joel

-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-10 16:34       ` Joel J. Adamson
@ 2007-12-10 18:39         ` thorne
  2007-12-12 21:29           ` Sebastian Tennant
  2007-12-13 14:19           ` Joel J. Adamson
  2007-12-11 16:08         ` Exal de Jesus Garcia Carrillo
  1 sibling, 2 replies; 14+ messages in thread
From: thorne @ 2007-12-10 18:39 UTC (permalink / raw)
  To: help-gnu-emacs

jadamson@partners.org (Joel J. Adamson) writes:

> Eric Hanchrow <offby1@blarg.net> writes:
>
>>     #!/usr/bin/emacs --script
>>     (message "Hello Biscuit-lovers!")
>>
>> Waal, shoot, Jackson; ah dint know 'bout thet thar --script option.
>
> It's pretty sweet, and I got the impression that it's a fairly new
> feature since there's very little about it on EmacsWiki.  I've already
> written a couple shell-scripts in it.

That is cool.  Goodbye bash, hello Emacs.

But i couldn't find anything about it in the Emacs info file (though i
did not search high and low) now on EmacsWiki.org.  I'd like to know
basic stuff, like: Is there a way to get a command-line argument to the
script?--etc.

And speaking of info, is there a command in info (or some other way) to
find out the canonical name of a specific node, to refer people to that
node? 

-- 
Theron Ttlåx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-10 16:34       ` Joel J. Adamson
  2007-12-10 18:39         ` thorne
@ 2007-12-11 16:08         ` Exal de Jesus Garcia Carrillo
  2007-12-11 18:05           ` Joel J. Adamson
  1 sibling, 1 reply; 14+ messages in thread
From: Exal de Jesus Garcia Carrillo @ 2007-12-11 16:08 UTC (permalink / raw)
  To: help-gnu-emacs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Joel J. Adamson em gnu.emacs.help escreveu :


> I've already
> written a couple shell-scripts in it.


Available online? :-)



- -- 
Spam protection: 
In my e-mail replace the words `no-spam' with `exal'.

.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/>

iD8DBQFHXrX+oZmxoVJRtGIRApwwAJ9rePOdlUXl6UnTypTBluHPUtq3bACdH6+w
Bh5ogV02Fez7ZLT69iSjXIM=
=IJiF
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-11 16:08         ` Exal de Jesus Garcia Carrillo
@ 2007-12-11 18:05           ` Joel J. Adamson
  0 siblings, 0 replies; 14+ messages in thread
From: Joel J. Adamson @ 2007-12-11 18:05 UTC (permalink / raw)
  To: help-gnu-emacs

Exal de Jesus Garcia Carrillo <no-spam@gnu.org> writes:

> Joel J. Adamson em gnu.emacs.help escreveu :
>
>
>> I've already
>> written a couple shell-scripts in it.
>
>
> Available online? :-)

I will make them available on EmacsWiki and gnu.emacs.sources after I
insert a few dependency checks.

Joel

-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-10 18:39         ` thorne
@ 2007-12-12 21:29           ` Sebastian Tennant
  2007-12-13 14:19           ` Joel J. Adamson
  1 sibling, 0 replies; 14+ messages in thread
From: Sebastian Tennant @ 2007-12-12 21:29 UTC (permalink / raw)
  To: help-gnu-emacs

Quoth thorne <thorne@timbral.net>:
> And speaking of info, is there a command in info (or some other way) to
> find out the canonical name of a specific node, to refer people to that
> node? 

C-h i m emacs <RET>

Look at the mode line.  There's the canonical node name - "(emacs) Top".

Sebastian

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: first emacs lisp script:  hello world
  2007-12-10 18:39         ` thorne
  2007-12-12 21:29           ` Sebastian Tennant
@ 2007-12-13 14:19           ` Joel J. Adamson
  1 sibling, 0 replies; 14+ messages in thread
From: Joel J. Adamson @ 2007-12-13 14:19 UTC (permalink / raw)
  To: help-gnu-emacs

thorne <thorne@timbral.net> writes:

> jadamson@partners.org (Joel J. Adamson) writes:
>
>> Eric Hanchrow <offby1@blarg.net> writes:
>>
>>>     #!/usr/bin/emacs --script
>>>     (message "Hello Biscuit-lovers!")
>>>
>>> Waal, shoot, Jackson; ah dint know 'bout thet thar --script option.
>>
>> It's pretty sweet, and I got the impression that it's a fairly new
>> feature since there's very little about it on EmacsWiki.  I've already
>> written a couple shell-scripts in it.
>
> That is cool.  Goodbye bash, hello Emacs.

You can manipulate buffers in an Emacs script and save them using the
regular file-saving and file-writing commands.

> But i couldn't find anything about it in the Emacs info file (though i
> did not search high and low) now on EmacsWiki.org.  

Yeah, I found nothing myself, other than one note saying that it was a
very new feature and few people have used it.  So I decided to try it out.

Appendix C.2 "Initial Options"
|`--script FILE'
|    Run Emacs in batch mode, like `--batch', and then read and execute
|    the Lisp code in FILE.
|
|    The normal use of this option is in executable script files that
|    run Emacs.  They can start with this text on the first line
|
|         #!/usr/bin/emacs --script
|
|    which will invoke Emacs with `--script' and supply the name of the
|    script file as FILE.  Emacs Lisp then treats `#!'  as a comment
|    delimiter.


> I'd like to know basic stuff, like: Is there a way to get a
> command-line argument to the script?--etc.

The first two arguments are "/usr/bin/emacs" and "--script", so I access
command line options with (nthcdr 3 (command-line-args)), but think you
could use (command-line-args-left) instead.  For example, when I want a
list of files to load and edit:

(setq files (nthcdr 3 command-line-args))
(dolist (file files)
  (catch 'no-file
    ;; is the filereadable?
    (if (file-readable-p file)
	;; then find the file
	(find-file file) ...)))

I started this to replace sed, since I mostly do substitutions, I wrote
a regex-replace function to take an alist of regexes and their
respective replacements.  This way I just have to type the alist,
instead of
s/.../.../Ig
a corresponding bunch of times:

(defun jedit-strip-regex (alist)
  "Takes a list of regex-replacement string pairs;
processes entire buffer."
  (interactive "sList: ")
  ;; for each cell in alist, define regex and replacement text
  (dolist (regex-cell alist)
    (let ((regex (car regex-cell))
	  (replacement (cadr regex-cell)))
      ;; go to beginning of buffer
      (goto-char (point-min))
      ;; when you find the search string, replace it with replacement
      ;; text
      (while (re-search-forward regex nil t)
	(replace-match replacement nil nil)))))

I previously posted this on gnu.emacs.sources without the accompanying
script that uses it.
Joel
-- 
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA  02114
(617) 643-1432
(303) 880-3109

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2007-12-13 14:19 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-07 15:11 first emacs lisp script: hello world Stewart Haddock
2007-12-07 17:18 ` Lennart Borgman (gmail)
2007-12-07 17:29 ` Eric Hanchrow
2007-12-07 17:44 ` Peter Dyballa
     [not found] ` <mailman.4724.1197050200.18990.help-gnu-emacs@gnu.org>
2007-12-07 22:06   ` Joel J. Adamson
2007-12-07 23:52     ` Eric Hanchrow
     [not found]     ` <mailman.4745.1197071540.18990.help-gnu-emacs@gnu.org>
2007-12-10 16:34       ` Joel J. Adamson
2007-12-10 18:39         ` thorne
2007-12-12 21:29           ` Sebastian Tennant
2007-12-13 14:19           ` Joel J. Adamson
2007-12-11 16:08         ` Exal de Jesus Garcia Carrillo
2007-12-11 18:05           ` Joel J. Adamson
     [not found] <mailman.4714.1197046346.18990.help-gnu-emacs@gnu.org>
2007-12-07 18:04 ` Joel J. Adamson
2007-12-07 18:08 ` Xah Lee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).