elisp

elisp is the programming language of Emacs. The reference manual and a programming tutorial are available at http://www.gnu.org/software/emacs/elisp-manual/ and http://www.gnu.org/software/emacs/emacs-lisp-intro/ respectively.

The Emacs Lisp archive at Ohio State is long gone, but repositories of Emacs Lisp packages are maintained at http://www.emacswiki.org/cgi-bin/wiki/ElispArea and http://anc.ed.ac.uk/~stephen/emacs/ell.html . Most 3rd party packages are also posted to news:gnu.emacs.sources , which is archived at http://lists.gnu.org/archive/html/gnu-emacs-sources/ and http://groups.google.com/ .

See the Tcl Emacs editing mode containing help code, a tcl interaction mode, menus, font lock support, etc. It is available at http://drip.colorado.edu/%7Etromey/src/tcl.el . [Is this the tcl.el distributed with Emacs 21?]

Gregor Schmid has written a major mode for tcl scripts. He posted tcl-mode 1.1 to gnu.emacs.sources at one time and so it should be on one of the emacs elisp-archives . [Is this the tcl-mode.el distributed with Emacs 19?]

DKF has an extra elisp library at http://www.cs.man.ac.uk/%7Efellowsd/tcl/#fontlock which provides enhanced syntax highlighting (font lock). An alternative URL mentioned was http://r8h.cs.man.ac.uk:800/tcl/ .

Lars Magne Ingebrigtsen mailto:[email protected] has written Expect functionality in an elisp package. It is going to be included in Emacs in a future release. Email the contact about details.

See also the TclMode page on the Emacs Wiki at http://www.emacswiki.org/cgi-bin/wiki/TclMode .


At one point, this elisp code was posted to comp.lang.tcl:

 (defun font-lock-set-defaults ()
   "Set `font-lock-keywords' to something appropriate for this mode."
   (setq font-lock-keywords
         (cond ((eq major-mode 'lisp-mode)       lisp-font-lock-keywords)
               ((eq major-mode 'emacs-lisp-mode) lisp-font-lock-keywords)
               ((eq major-mode 'c-mode)          c-font-lock-keywords)
               ((eq major-mode 'c++-c-mode)      c-font-lock-keywords)
               ((eq major-mode 'c++-mode)        c++-font-lock-keywords)
               ((eq major-mode 'tex-mode)        tex-font-lock-keywords)
               ((eq major-mode 'perl-mode)       perl-font-lock-keywords)
               ((eq major-mode 'tcl-mode)        tcl-font-lock-keywords)
               ((eq major-mode 'texinfo-mode)    texi-font-lock-keywords)
               (t nil))))

Make nice comment to describe the next proc (davidw):

 (define-skeleton tcl-command-comment
   "Make Tcl comment to describe command"
   nil
   "# " (progn (save-excursion
                 (re-search-forward "proc \\([^ ]+\\) " nil t)
                 (match-string 1))) " --
 #
 #        xxx
 #
 # Arguments:
 #        None.
 #
 # Side Effects:
 #        None.
 #
 # Results:
 #        None.
 ")

Here's some code from davidw that provides an interface to a tcl man page.

 (defun tclman ()
  "Get 3tcl man page"
  (interactive)
  (let* ((default-entry (Man-default-man-entry))
         (input (read-string
                 (format "3tcl Manual entry%s: "
                         (if (string= default-entry "")
                             ""
                           (format " (default %s)" default-entry))))))
    (if (string= input "")
        (Man-getpage-in-background (concat "-S 3tcl " default-entry))
      (Man-getpage-in-background (concat "-S 3tcl " input)))))

http://www.purl.org/NET/Tcl-FAQ/part4.html lists these related tools.

 What: eev
 Where: http://www.mat.puc-rio.br/%7Eedrx/emacs.html
 Description: eev.el is a Emacs Lisp library that provides a method to
        place hyperlinks and shell/Tcl/TeX/Perl/etc. code inside
        text files.  Currently at version 2000may27.
 Updated: 11/1999
 Contact: mailto:[email protected] (Eduardo Ochs)


 What: Emacsclient alternative
 Where: http://www.inx.de/%7Ejn/tcl-hacks/ (dead link as of 2008-08-23 -- [UKo])
 Description: A "cheap" variant of the Emacsclient/server model which does
        not wait for completion, works across a network on the same X
        display, and utilizes xauth security, written in Tk and Emacs Lisp.
 Updated: 10/1996
 Contact: mailto:[email protected] (Juergen Nickelsen)


 What: prettyp
 Where: http://www.ee.ryerson.ca/%7Eelf/prettyp/ 
 Description: Suite of programs that generate pretty PostScript source
        code lists, using TeX.  prettyp uses tfontedpr.  Supports
        C, C++, FORTRAN77, ISP, Icon, Java, LDL, Emacs Mock Lisp,
        Model, Modula2, Pascal, Perl, Python, RATFOR, Russell, sh/csh,
        Tcl, VHDL, and yacc grammer, as well as Makefiles and Imakefiles.
        Now has support for color printing - comments, keywords, and
        literal strings can all have different colors.  Also improved Perl
        support and added VHDL support
        Currently at version 2.0 .
 Updated: 05/2002
 Contact: mailto:[email protected] (Luis Fernandes)

 What: Tk Emacs widget
 Where: ftp://ftp.tcl.tk/pub/tcl/mirror/ftp.procplace.com/sorted/packages-7.6/text/TkEmacs1.3.tar.gz 
 Description: Emacs widget for the Tk widget set.  Allows emacs-lisp code to
        be sent to emacs and Tcl code to be sent from emacs to Tcl.
        Works with tk2.3 and tk3.0 (and should work with tk3.1 when it
        is available).  Contains patches for GNU Emacs 18.58 and 18.59.
 Updated: 10/1998
 Contact: [Sven Delmas]

2003-12-21 VI JH's post to comp.lang.tcl on Tcl Elisp Macros