]> code.delx.au - gnu-emacs/blobdiff - lisp/ledit.el
New file.
[gnu-emacs] / lisp / ledit.el
index f106abfe08b5d283bcf1d6f8a41385fc0c44303d..9981b81e838c89f358e0f8a2f7ab997b0a4064b8 100644 (file)
@@ -1,15 +1,16 @@
 ;;; ledit.el --- Emacs side of ledit interface
 
-;; Copyright (C) 1985 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
+;;   2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
-;; Keyword: languages
+;; Keywords: languages
 
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -19,8 +20,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
 
 (defvar ledit-mode-map nil)
 
-(defconst ledit-zap-file (concat "/tmp/" (user-login-name) ".l1")
+(defconst ledit-zap-file
+  (expand-file-name (concat (user-login-name) ".l1") temporary-file-directory)
   "File name for data sent to Lisp by Ledit.")
-(defconst ledit-read-file (concat "/tmp/" (user-login-name) ".l2")
+(defconst ledit-read-file
+  (expand-file-name (concat (user-login-name) ".l2") temporary-file-directory)
   "File name for data sent to Ledit by Lisp.")
-(defconst ledit-compile-file 
-  (concat "/tmp/" (user-login-name) ".l4")
+(defconst ledit-compile-file
+  (expand-file-name (concat (user-login-name) ".l4") temporary-file-directory)
   "File name for data sent to Lisp compiler by Ledit.")
 (defconst ledit-buffer "*LEDIT*"
   "Name of buffer in which Ledit accumulates data to send to Lisp.")
@@ -54,7 +57,7 @@
 *Shell commands to execute to resume Lisp compiler job.")
 
 (defun ledit-save-defun ()
-  "Save the current defun in the ledit buffer"
+  "Save the current defun in the ledit buffer."
   (interactive)
   (save-excursion
    (end-of-defun)
 
 (defun ledit-setup ()
   "Set up key bindings for the Lisp/Emacs interface."
-  (if (not ledit-mode-map)
-      (progn (setq ledit-mode-map (nconc (make-sparse-keymap) 
-                                        shared-lisp-mode-map))))
+  (unless ledit-mode-map
+    (setq ledit-mode-map (make-sparse-keymap))
+    (set-keymap-parent ledit-mode-map lisp-mode-shared-map))
   (define-key ledit-mode-map "\e\^d" 'ledit-save-defun)
   (define-key ledit-mode-map "\e\^r" 'ledit-save-region)
   (define-key ledit-mode-map "\^xz" 'ledit-go-to-lisp)
@@ -138,11 +141,12 @@ Like Lisp mode, plus these special commands:
   \\[ledit-go-to-lisp] -- transfer to Lisp job and transmit saved text.
   \\[ledit-go-to-liszt] -- transfer to Liszt (Lisp compiler) job
           and transmit saved text.
+
 \\{ledit-mode-map}
 To make Lisp mode automatically change to Ledit mode,
 do (setq lisp-mode-hook 'ledit-from-lisp-mode)"
   (interactive)
-  (lisp-mode)
+  (delay-mode-hooks (lisp-mode))
   (ledit-from-lisp-mode))
 
 ;;;###autoload
@@ -150,6 +154,9 @@ do (setq lisp-mode-hook 'ledit-from-lisp-mode)"
   (use-local-map ledit-mode-map)
   (setq mode-name "Ledit")
   (setq major-mode 'ledit-mode)
-  (run-hooks 'ledit-mode-hook))
+  (run-mode-hooks 'ledit-mode-hook))
+
+(provide 'ledit)
 
+;;; arch-tag: f0f1ca13-8d31-478c-ae1b-b448c55a8faf
 ;;; ledit.el ends here