# HG changeset patch # User Richard M. Stallman # Date 874305156 0 # Node ID e135dd522e645c650f89dca4ea2028972e9b9008 # Parent 2dce5db7cf82fb830137bfa1431c55945299c982 (quail-terminate-translation): If quail-overlay is not an overlay, don't mess with it. diff -r 2dce5db7cf82 -r e135dd522e64 lisp/international/quail.el --- a/lisp/international/quail.el Mon Sep 15 06:10:22 1997 +0000 +++ b/lisp/international/quail.el Mon Sep 15 06:32:36 1997 +0000 @@ -1035,26 +1035,27 @@ (defun quail-terminate-translation () "Terminate the translation of the current key." - (let ((start (overlay-start quail-overlay))) - (if (and start - (< start (overlay-end quail-overlay))) - ;; Here we simulate self-insert-command. - (let ((seq (string-to-sequence - (buffer-substring (overlay-start quail-overlay) - (overlay-end quail-overlay)) - 'list)) - last-command-char) - (goto-char start) - (quail-delete-region) - (setq last-command-char (car seq)) - (self-insert-command (or quail-prefix-arg 1)) - (setq quail-prefix-arg nil) - (setq seq (cdr seq)) - (while seq + (when (overlayp quail-overlay) + (let ((start (overlay-start quail-overlay))) + (if (and start + (< start (overlay-end quail-overlay))) + ;; Here we simulate self-insert-command. + (let ((seq (string-to-sequence + (buffer-substring (overlay-start quail-overlay) + (overlay-end quail-overlay)) + 'list)) + last-command-char) + (goto-char start) + (quail-delete-region) (setq last-command-char (car seq)) - (self-insert-command 1) - (setq seq (cdr seq)))))) - (delete-overlay quail-overlay) + (self-insert-command (or quail-prefix-arg 1)) + (setq quail-prefix-arg nil) + (setq seq (cdr seq)) + (while seq + (setq last-command-char (car seq)) + (self-insert-command 1) + (setq seq (cdr seq)))))) + (delete-overlay quail-overlay)) (if (buffer-live-p quail-guidance-buf) (save-excursion (set-buffer quail-guidance-buf)