]> git.eshelyaron.com Git - emacs.git/commitdiff
Restore window conf in nsm
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 5 Feb 2016 06:35:29 +0000 (17:35 +1100)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 5 Feb 2016 06:36:12 +0000 (17:36 +1100)
* lisp/net/nsm.el (nsm-query-user): Restore the window configuration.

Backport:

lisp/net/nsm.el

index ee8b55bf19256ccd8eb9c19776d16a40ef6ac057..d0b5543773233f44721352fb02599219a1dae2a0 100644 (file)
@@ -309,39 +309,40 @@ unencrypted."
 
 (defun nsm-query-user (message args cert)
   (let ((buffer (get-buffer-create "*Network Security Manager*")))
-    (with-help-window buffer
-      (with-current-buffer buffer
-       (erase-buffer)
-       (when (> (length cert) 0)
-         (insert cert "\n"))
-       (let ((start (point)))
-         (insert (apply #'format-message message args))
-         (goto-char start)
-         ;; Fill the first line of the message, which usually
-         ;; contains lots of explanatory text.
-         (fill-region (point) (line-end-position)))))
-    (let ((responses '((?n . no)
-                      (?s . session)
-                      (?a . always)))
-         (prefix "")
-         (cursor-in-echo-area t)
-         response)
-      (while (not response)
-       (setq response
-             (cdr
-              (assq (downcase
-                     (read-char
-                      (concat prefix
-                              "Continue connecting? (No, Session only, Always) ")))
-                    responses)))
-       (unless response
-         (ding)
-         (setq prefix "Invalid choice.  ")))
-      (kill-buffer buffer)
-      ;; If called from a callback, `read-char' will insert things
-      ;; into the pending input.  Clear that.
-      (clear-this-command-keys)
-      response)))
+    (save-window-excursion
+      (with-help-window buffer
+        (with-current-buffer buffer
+          (erase-buffer)
+          (when (> (length cert) 0)
+            (insert cert "\n"))
+          (let ((start (point)))
+            (insert (apply #'format-message message args))
+            (goto-char start)
+            ;; Fill the first line of the message, which usually
+            ;; contains lots of explanatory text.
+            (fill-region (point) (line-end-position)))))
+      (let ((responses '((?n . no)
+                         (?s . session)
+                         (?a . always)))
+            (prefix "")
+            (cursor-in-echo-area t)
+            response)
+        (while (not response)
+          (setq response
+                (cdr
+                 (assq (downcase
+                        (read-char
+                         (concat prefix
+                                 "Continue connecting? (No, Session only, Always) ")))
+                       responses)))
+          (unless response
+            (ding)
+            (setq prefix "Invalid choice.  ")))
+        (kill-buffer buffer)
+        ;; If called from a callback, `read-char' will insert things
+        ;; into the pending input.  Clear that.
+        (clear-this-command-keys)
+        response))))
 
 (defun nsm-save-host (host port status what permanency)
   (let* ((id (nsm-id host port))