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:
parent
614710af5b
commit
654116295d
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user