]> git.eshelyaron.com Git - emacs.git/commitdiff
(quail-terminate-translation):
authorRichard M. Stallman <rms@gnu.org>
Mon, 15 Sep 1997 06:32:36 +0000 (06:32 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 15 Sep 1997 06:32:36 +0000 (06:32 +0000)
If quail-overlay is not an overlay, don't mess with it.

lisp/international/quail.el

index bfc77ab08764e4ec289b4b39524c403f98886299..1a344ec318286452d299d737dbb77c19c1dbf0c3 100644 (file)
@@ -1035,26 +1035,27 @@ The returned value is a Quail map specific to KEY."
 
 (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)