From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Andreas Politz Newsgroups: gmane.emacs.bugs Subject: bug#24213: 25.1.50; Fishy use of delete-window in register.el Date: Wed, 31 Aug 2016 21:04:36 +0200 Message-ID: <8760qg69q3.fsf@hochschule-trier.de> References: <87mvkhivpu.fsf@hochschule-trier.de> <57AED93A.4090902@gmx.at> <878tw1kqby.fsf@hochschule-trier.de> <57AEF063.6070907@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1472670325 14643 195.159.176.226 (31 Aug 2016 19:05:25 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 31 Aug 2016 19:05:25 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) Cc: 24213@debbugs.gnu.org To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Aug 31 21:05:21 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfAp6-0003Hd-Tf for geb-bug-gnu-emacs@m.gmane.org; Wed, 31 Aug 2016 21:05:21 +0200 Original-Received: from localhost ([::1]:55595 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfAp4-0001d1-K9 for geb-bug-gnu-emacs@m.gmane.org; Wed, 31 Aug 2016 15:05:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfAot-0001be-H4 for bug-gnu-emacs@gnu.org; Wed, 31 Aug 2016 15:05:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bfAoo-00078a-CT for bug-gnu-emacs@gnu.org; Wed, 31 Aug 2016 15:05:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:47930) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfAoo-00078U-0w for bug-gnu-emacs@gnu.org; Wed, 31 Aug 2016 15:05:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bfAon-0006rT-LP for bug-gnu-emacs@gnu.org; Wed, 31 Aug 2016 15:05:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Andreas Politz Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Aug 2016 19:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24213 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 24213-submit@debbugs.gnu.org id=B24213.147267029726356 (code B ref 24213); Wed, 31 Aug 2016 19:05:01 +0000 Original-Received: (at 24213) by debbugs.gnu.org; 31 Aug 2016 19:04:57 +0000 Original-Received: from localhost ([127.0.0.1]:45642 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfAoi-0006r2-Qm for submit@debbugs.gnu.org; Wed, 31 Aug 2016 15:04:57 -0400 Original-Received: from gateway-a.fh-trier.de ([143.93.54.181]:58392) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfAog-0006ql-IV for 24213@debbugs.gnu.org; Wed, 31 Aug 2016 15:04:55 -0400 X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum Hochschule Trier (RZ/HT)] Original-Received: from localhost (ip5f5bdf67.dynamic.kabel-deutschland.de [95.91.223.103]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-a.fh-trier.de (Postfix) with ESMTPSA id 3098F1798E8B; Wed, 31 Aug 2016 21:04:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=hochschule-trier.de; s=default; t=1472670277; bh=qmViV1nooElrs08sePAjKQNn/M0=; h=From:To:Cc:Subject:References:Date:In-Reply-To:Message-ID: MIME-Version:Content-Type; b=FV4P1JlSB7aAeuv+uUEOw2Dv43BcrZb6RnebT+PxpSV82KEzs9ZRj6erSdKZvMH5z xCJdBZiBbvppWVC5JSwNXH/tk67oljXaHwGNhf6umrCCSzO5bPM6vKXM0AnTBLU3LQ QPejn4KtZQYukll75vJ7w1ferowwrW357C5hQzV0= In-Reply-To: <57AEF063.6070907@gmx.at> (martin rudalics's message of "Sat, 13 Aug 2016 12:03:15 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:122815 Archived-At: I finally got around to this. The changes in the following diff seem to be all clear cut cases, where the window is created by display-buffer/pop-to-buffer without any special window-handling logic attached. Let me know what you think. diff --git a/lisp/finder.el b/lisp/finder.el index da537a5..7f08024 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -455,7 +455,7 @@ finder-exit "Exit Finder mode. Delete the window and kill all Finder-related buffers." (interactive) - (ignore-errors (delete-window)) + (quit-window) (let ((buf "*Finder*")) (and (get-buffer buf) (kill-buffer buf)))) diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 67b023d..36f148b 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el @@ -2445,13 +2445,9 @@ image-dired-gallery-generate (insert "")))) (defun image-dired-kill-buffer-and-window () - "Kill the current buffer and, if possible, also the window." + "Kill the current buffer and quit it's window." (interactive) - (let ((buffer (current-buffer))) - (condition-case nil - (delete-window (selected-window)) - (error nil)) - (kill-buffer buffer))) + (quit-window t)) (defvar image-dired-widget-list nil "List to keep track of meta data in edit buffer.") diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 9cb2ca7..2215e52 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el @@ -8272,7 +8272,7 @@ idlwave-quit-help (select-window olh-window) (idlwave-help-quit)) (when (window-live-p ri-window) - (delete-window ri-window)))) + (quit-window nil ri-window)))) (defun idlwave-display-calling-sequence (name type class &optional initial-class) diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index fd2e96a..a96ddae 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -7486,8 +7486,7 @@ verilog-complete-word (display-completion-list allcomp)) ;; Wait for a key press. Then delete *Completion* window (momentary-string-display "" (point)) - (delete-window (get-buffer-window (get-buffer "*Completions*"))) - ))))) + (quit-window nil (get-buffer-window "*Completions*"))))))) (defun verilog-show-completions () "Show all possible completions at current point." @@ -7506,7 +7505,7 @@ verilog-show-completions (display-completion-list allcomp)) ;; Wait for a key press. Then delete *Completion* window (momentary-string-display "" (point)) - (delete-window (get-buffer-window (get-buffer "*Completions*"))))) + (quit-window nil (get-buffer-window "*Completions*")))) (defun verilog-get-default-symbol () diff --git a/lisp/startup.el b/lisp/startup.el index fcdc376..0b21f4f 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -1765,9 +1765,7 @@ fancy-startup-tail (customize-set-variable 'inhibit-startup-screen t) (customize-mark-to-save 'inhibit-startup-screen) (custom-save-all)) - (let ((w (get-buffer-window "*GNU Emacs*"))) - (and w (not (one-window-p)) (delete-window w))) - (kill-buffer "*GNU Emacs*"))) + (quit-windows-on "*GNU Emacs*" t))) " ") (when (or user-init-file custom-file) (let ((checked (create-image "checked.xpm" diff --git a/lisp/strokes.el b/lisp/strokes.el index 5a2020d..215f24b 100644 --- a/lisp/strokes.el +++ b/lisp/strokes.el @@ -1216,9 +1216,7 @@ strokes-xpm-for-stroke ;;(defun strokes-edit-quit () ;; (interactive) -;; (or (one-window-p t 0) -;; (delete-window)) -;; (kill-buffer "*Strokes List*")) +;; (quit-windows-on "*Strokes List*" t)) ;;(define-derived-mode edit-strokes-mode list-mode ;; "Edit-Strokes"