summaryrefslogtreecommitdiff
path: root/lisp/ielm.el
diff options
context:
space:
mode:
authorLuc Teirlinck <teirllm@auburn.edu>2004-04-24 22:56:34 +0000
committerLuc Teirlinck <teirllm@auburn.edu>2004-04-24 22:56:34 +0000
commitf57cc7a7798e99cb697ca78f1f19aa953dfabac1 (patch)
treed3d9851a056c09afc196fc976597f4be6b4fa2a8 /lisp/ielm.el
parent91066760318dfb7a52928af6882d2bb3ef335f32 (diff)
downloademacs-f57cc7a7798e99cb697ca78f1f19aa953dfabac1.tar.gz
(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.
Diffstat (limited to 'lisp/ielm.el')
-rw-r--r--lisp/ielm.el32
1 files changed, 28 insertions, 4 deletions
diff --git a/lisp/ielm.el b/lisp/ielm.el
index d5bf56a1722..725f7933149 100644
--- a/lisp/ielm.el
+++ b/lisp/ielm.el
@@ -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-map>\\[ielm-return] has intelligent behaviour in IELM.
@@ -429,6 +444,8 @@ Expressions evaluated by IELM are not subject to `debug-on-quit' or
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 @@ Customized bindings may be defined in `ielm-map', which currently contains:
(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)