1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00

(dabbrev--substitute-expansion):

Change criterion for copying expansion's case pattern.
Do this now if expansion case varies after the first char.
This commit is contained in:
Richard M. Stallman 1997-03-30 19:06:27 +00:00
parent 614710af5b
commit 654116295d

View File

@ -765,15 +765,21 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion]."
(and nil use-case-replace
(setq old (concat abbrev (or old "")))
(setq expansion (concat abbrev expansion)))
;; If the given abbrev is mixed case and its case pattern
;; If the expansion has mixed case
;; and it is not simply a capitalized word,
;; or if the abbrev has mixed case,
;; and if the given abbrev's case pattern
;; matches the start of the expansion,
;; copy the expansion's case
;; instead of downcasing all the rest.
(if (and (string= abbrev
(substring expansion 0 (length abbrev)))
(not (string= abbrev (downcase abbrev)))
(not (string= abbrev (upcase abbrev))))
(setq use-case-replace nil))
(let ((expansion-rest (substring expansion 1)))
(if (and (not (and (or (string= expansion-rest (downcase expansion-rest))
(string= expansion-rest (upcase expansion-rest)))
(or (string= abbrev (downcase abbrev))
(string= abbrev (upcase abbrev)))))
(string= abbrev
(substring expansion 0 (length abbrev))))
(setq use-case-replace nil)))
(if (equal abbrev " ")
(setq use-case-replace nil))
(if use-case-replace