summaryrefslogtreecommitdiff
path: root/lisp/dabbrev.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-05-10 00:33:28 +0000
committerRichard M. Stallman <rms@gnu.org>1997-05-10 00:33:28 +0000
commit543abb4a789fd36e3d778859d9952c108d84627b (patch)
tree7ebc452aaf4458739d3f38cf126d9efe625fbaad /lisp/dabbrev.el
parent19e31f7cf92f933b50a13c97a5a940654595341a (diff)
downloademacs-543abb4a789fd36e3d778859d9952c108d84627b.tar.gz
(dabbrev-case-replace, dabbrev-case-fold-search):
Make these simple three-value choices. (dabbrev-completion): Handle dabbrev-case-fold-search and dabbrev-case-replace the new way. (dabbrev-expand, dabbrev--substitute-expansion): Likewise.
Diffstat (limited to 'lisp/dabbrev.el')
-rw-r--r--lisp/dabbrev.el59
1 files changed, 33 insertions, 26 deletions
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el
index 87f87e014d0..ed2d37eb662 100644
--- a/lisp/dabbrev.el
+++ b/lisp/dabbrev.el
@@ -128,16 +128,15 @@ Set this to nil if no characters should be skipped."
(const :tag "off" nil))
:group 'dabbrev)
-;; I recommend that you set this to nil.
(defcustom dabbrev-case-fold-search 'case-fold-search
- "*Non-nil if dabbrev searches should ignore case.
+ "*Control whether dabbrev searches should ignore case.
A value of nil means case is significant.
-
-The value of this variable is an expression; it is evaluated
-and the resulting value determines the decision.
-For example: setting this to `case-fold-search' means evaluate that
-variable to see whether its value is nil."
- :type 'sexp
+A value of `case-fold-search' means case is significant
+ if `case-fold-search' is nil.
+Any other non-nil version means case is not significant."
+ :type '(choice (const :tag "off" nil)
+ (const :tag "on" t)
+ (const :tag "like search" 'case-fold-search))
:group 'dabbrev)
(defcustom dabbrev-upcase-means-case-search nil
@@ -145,23 +144,21 @@ variable to see whether its value is nil."
nil means case fold search, non-nil means case sensitive search.
This variable has an effect only when the value of
-`dabbrev-case-fold-search' evaluates to t."
+`dabbrev-case-fold-search' says to ignore case."
:type 'boolean
:group 'dabbrev)
-;; I recommend that you set this to nil.
(defcustom dabbrev-case-replace 'case-replace
- "*Non-nil means dabbrev should preserve case when expanding the abbreviation.
-More precisely, it preserves the case pattern of the abbreviation as you
-typed it--as opposed to the case pattern of the expansion that is copied.
-The value of this variable is an expression; it is evaluated
-and the resulting value determines the decision.
-For example, setting this to `case-replace' means evaluate that
-variable to see if its value is t or nil.
+ "*Controls whether dabbrev preserves case when expanding the abbreviation.
+A value of nil means preserve case.
+A value of `case-replace' means preserve case if `case-replace' is nil.
+Any other non-nil version means do not preserve case.
This variable has an effect only when the value of
-`dabbrev-case-fold-search' evaluates to t."
- :type 'sexp
+`dabbrev-case-fold-search' specifies to ignore case."
+ :type '(choice (const :tag "off" nil)
+ (const :tag "on" t)
+ (const :tag "like M-x query-replace" 'case-replace))
:group 'dabbrev)
(defcustom dabbrev-abbrev-char-regexp nil
@@ -349,9 +346,11 @@ if there is a suitable one already."
(dabbrev-check-all-buffers
(and arg (= (prefix-numeric-value arg) 16)))
(abbrev (dabbrev--abbrev-at-point))
- (ignore-case-p (and (eval dabbrev-case-fold-search)
- (or (not dabbrev-upcase-means-case-search)
- (string= abbrev (downcase abbrev)))))
+ (ignore-case-p (and (if (eq dabbrev-case-fold-search 'case-fold-search)
+ case-fold-search
+ dabbrev-case-fold-search)
+ (or (not dabbrev-upcase-means-case-search)
+ (string= abbrev (downcase abbrev)))))
(my-obarray dabbrev--last-obarray)
init)
(save-excursion
@@ -521,7 +520,9 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]."
(or expansion
(setq expansion
(dabbrev--find-expansion abbrev direction
- (and (eval dabbrev-case-fold-search)
+ (and (if (eq dabbrev-case-fold-search 'case-fold-search)
+ case-fold-search
+ dabbrev-case-fold-search)
(or (not dabbrev-upcase-means-case-search)
(string= abbrev (downcase abbrev))))))))
(cond
@@ -557,7 +558,9 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]."
;; set dabbrev--last-case-pattern.
(and record-case-pattern
(setq dabbrev--last-case-pattern
- (and (eval dabbrev-case-fold-search)
+ (and (if (eq dabbrev-case-fold-search 'case-fold-search)
+ case-fold-search
+ dabbrev-case-fold-search)
(not dabbrev-upcase-means-case-search)
(equal abbrev (upcase abbrev)))))
@@ -791,10 +794,14 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]."
;;; EXPANSION is the expansion substring.
(defun dabbrev--substitute-expansion (old abbrev expansion)
;;(undo-boundary)
- (let ((use-case-replace (and (eval dabbrev-case-fold-search)
+ (let ((use-case-replace (and (if (eq dabbrev-case-fold-search 'case-fold-search)
+ case-fold-search
+ dabbrev-case-fold-search)
(or (not dabbrev-upcase-means-case-search)
(string= abbrev (downcase abbrev)))
- (eval dabbrev-case-replace))))
+ (if (eq dabbrev-case-replace 'case-replace)
+ case-replace
+ dabbrev-case-replace))))
(and nil use-case-replace
(setq old (concat abbrev (or old "")))
(setq expansion (concat abbrev expansion)))