X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/025875980c7fbde1d555bff245053241951e6909..fc0c5af8380cdbfa64fd082a65461e3cc20737b0:/leim/quail/latin-ltx.el diff --git a/leim/quail/latin-ltx.el b/leim/quail/latin-ltx.el index e686d7bc04..2179e6264a 100644 --- a/leim/quail/latin-ltx.el +++ b/leim/quail/latin-ltx.el @@ -248,14 +248,18 @@ system, including many technical ones. Examples: (string (if (match-end 2) ?^ ?_) basechar)))) "\\(.*\\)SU\\(?:B\\|\\(PER\\)\\)SCRIPT \\(.*\\)") - ("^\\gamma" ?Ë ) - ((lambda (name char) - (let* ((base (format "LATIN %s LETTER %s" - (match-string 1 name) (match-string 2 name))) - (basechar (cdr (assoc base (ucs-names))))) - (when (latin-ltx--ascii-p basechar) - (string ?^ basechar)))) + (let* ((basename (match-string 2 name)) + (lbase (format "LATIN %s LETTER %s" + (match-string 1 name) basename)) + (gbase (format "GREEK %s LETTER %s" + (match-string 1 name) basename)) + tmp) + (cond + ((assoc gbase (ucs-names)) (concat "^\\" (downcase basename))) + ((latin-ltx--ascii-p (setq tmp (cdr (assoc lbase (ucs-names))))) + (string ?^ tmp)) + (t (message "Unknown modifier letter %s" basename))))) "MODIFIER LETTER \\(SMALL\\|CAPITAL\\) \\(.*\\)") ;; ((lambda (name char) (format "^%s" (downcase (match-string 1 name))))