X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/52f9ab73a16c71ffe7f8a1c25f9432bbe32f10cf..05db920d6f6a99f0ae84a35d3cf09b2a4f1ce264:/lisp/ielm.el diff --git a/lisp/ielm.el b/lisp/ielm.el index 944e2453cb..a734f87ad9 100644 --- a/lisp/ielm.el +++ b/lisp/ielm.el @@ -1,6 +1,7 @@ ;;; ielm.el --- interaction mode for Emacs Lisp -;; Copyright (C) 1994, 2002, 2003, 2004 Free Software Foundation, Inc. +;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, +;; 2006, 2007 Free Software Foundation, Inc. ;; Author: David Smith ;; Maintainer: FSF @@ -11,7 +12,7 @@ ;; 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, @@ -21,8 +22,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: @@ -65,7 +66,7 @@ wish to put something like the following in your `.emacs' file: \(add-hook 'ielm-mode-hook '(lambda () - (define-key ielm-map \"\C-w\" 'comint-kill-region) + (define-key ielm-map \"\\C-w\" 'comint-kill-region) (define-key ielm-map [C-S-backspace] 'comint-kill-whole-line))) @@ -77,7 +78,7 @@ text-only terminals or with `emacs -nw', you might wish to use another binding for `comint-kill-whole-line'." :type 'boolean :group 'ielm - :version "21.4") + :version "22.1") (defcustom ielm-prompt "ELISP> " "Prompt used in IELM. @@ -102,7 +103,7 @@ prevent a running IELM process from being messed up when the user customizes `ielm-prompt'.") (defcustom ielm-dynamic-return t - "*Controls whether \\\\[ielm-return] has intelligent behaviour in IELM. + "*Controls whether \\\\[ielm-return] has intelligent behavior in IELM. If non-nil, \\[ielm-return] evaluates input for complete sexps, or inserts a newline and indents for incomplete sexps. If nil, always inserts newlines." :type 'boolean @@ -168,7 +169,7 @@ This variable is buffer-local.") (defvar ielm-map nil) (if ielm-map nil - (if (string-match "Lucid" emacs-version) + (if (featurep 'xemacs) ;; Lemacs (progn (setq ielm-map (make-sparse-keymap)) @@ -198,7 +199,7 @@ This variable is buffer-local.") ;;; Completion stuff (defun ielm-tab nil - "Possibly indent the current line as lisp code." + "Possibly indent the current line as Lisp code." (interactive) (if (or (eq (preceding-char) ?\n) (eq (char-syntax (preceding-char)) ? )) @@ -207,7 +208,7 @@ This variable is buffer-local.") t))) (defun ielm-complete-symbol nil - "Complete the lisp symbol before point." + "Complete the Lisp symbol before point." ;; A wrapper for lisp-complete symbol that returns non-nil if ;; completion has occurred (let* ((btick (buffer-modified-tick)) @@ -468,7 +469,7 @@ buffer, then the values in the working buffer are used. The variables Expressions evaluated by IELM are not subject to `debug-on-quit' or `debug-on-error'. -The behaviour of IELM may be customized with the following variables: +The behavior of IELM may be customized with the following variables: * To stop beeping on error, set `ielm-noisy' to nil. * If you don't like the prompt, you can change it by setting `ielm-prompt'. * If you do not like that the prompt is (by default) read-only, set @@ -480,8 +481,10 @@ The behaviour of IELM may be customized with the following variables: Customized bindings may be defined in `ielm-map', which currently contains: \\{ielm-map}" (interactive) - (comint-mode) + (delay-mode-hooks + (comint-mode)) (setq comint-prompt-regexp (concat "^" (regexp-quote ielm-prompt))) + (set (make-local-variable 'paragraph-separate) "\\'") (make-local-variable 'paragraph-start) (setq paragraph-start comint-prompt-regexp) (setq comint-input-sender 'ielm-input-sender) @@ -528,7 +531,7 @@ Customized bindings may be defined in `ielm-map', which currently contains: (condition-case nil (start-process "ielm" (current-buffer) "hexl") (file-error (start-process "ielm" (current-buffer) "cat"))) - (process-kill-without-query (ielm-process)) + (set-process-query-on-exit-flag (ielm-process) nil) (goto-char (point-max)) ;; Lisp output can include raw characters that confuse comint's @@ -538,7 +541,7 @@ Customized bindings may be defined in `ielm-map', which currently contains: ;; Add a silly header (insert ielm-header) (ielm-set-pm (point-max)) - (unless comint-use-prompt-regexp-instead-of-fields + (unless comint-use-prompt-regexp (let ((inhibit-read-only t)) (add-text-properties (point-min) (point-max) @@ -547,7 +550,7 @@ Customized bindings may be defined in `ielm-map', which currently contains: (set-marker comint-last-input-start (ielm-pm)) (set-process-filter (get-buffer-process (current-buffer)) 'comint-output-filter)) - (run-hooks 'ielm-mode-hook)) + (run-mode-hooks 'ielm-mode-hook)) (defun ielm-get-old-input nil ;; Return the previous input surrounding point