# HG changeset patch # User Luc Teirlinck # Date 1082847394 0 # Node ID 06d6dda8a91c00ce8370723403a9ddbfdc5c2341 # Parent 63bdd7a0af5e3e5b9af857f27c12c4ba69060f30 (ielm-prompt-read-only): New user option. (ielm-prompt): Expand docstring to describe new behavior. (inferior-emacs-lisp-mode): Implement ielm-prompt-read-only and mention it in the docstring. diff -r 63bdd7a0af5e -r 06d6dda8a91c lisp/ielm.el --- a/lisp/ielm.el Sat Apr 24 20:58:17 2004 +0000 +++ b/lisp/ielm.el Sat Apr 24 22:56:34 2004 +0000 @@ -49,12 +49,27 @@ :type 'boolean :group 'ielm) +(defcustom ielm-prompt-read-only t + "If non-nil, the IELM prompt is read only. +Setting this variable does not affect existing IELM runs. + +You can give the IELM prompt more highly customized read-only +type properties, by setting this option to nil, and then setting +`ielm-prompt', outside of Custom, to a string with the desired +text properties." + :type 'boolean + :group 'ielm + :version "21.4") + (defcustom ielm-prompt "ELISP> " - "Prompt used in IELM." + "Prompt used in IELM. +Setting the default value does not affect existing IELM runs. +The command `inferior-emacs-lisp-mode' converts this into a +buffer-local variable in IELM buffers. Do not try to set the +buffer-local value yourself in any way, unless you really know +what you are doing." :type 'string - :group 'ielm - :get #'(lambda (symbol) (substring-no-properties (symbol-value symbol))) - :set #'(lambda (symbol value) (set symbol (propertize value 'read-only t 'rear-nonsticky t)))) + :group 'ielm) (defcustom ielm-dynamic-return t "*Controls whether \\\\[ielm-return] has intelligent behaviour in IELM. @@ -429,6 +444,8 @@ The behaviour 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 + `ielm-prompt-read-only' to nil. * Set `ielm-dynamic-return' to nil for bindings like `lisp-interaction-mode'. * Entry to this mode runs `comint-mode-hook' and `ielm-mode-hook' (in that order). @@ -443,6 +460,13 @@ (setq comint-input-sender 'ielm-input-sender) (setq comint-process-echoes nil) (make-local-variable 'comint-dynamic-complete-functions) + (set (make-local-variable 'ielm-prompt) + (if ielm-prompt-read-only + (propertize ielm-prompt + 'read-only t + 'rear-nonsticky t + 'front-sticky '(read-only)) + ielm-prompt)) (setq comint-dynamic-complete-functions '(ielm-tab comint-replace-by-expanded-history ielm-complete-filename ielm-complete-symbol)) (setq comint-get-old-input 'ielm-get-old-input)