From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Toru Tsuneyoshi (=?iso-2022-jp?B?GyRCOTE1SBsoQiAbJEJFMBsoQg==?=) Newsgroups: gmane.emacs.bugs Subject: improving function "mode-line-unbury-buffer" in bindings.el Date: Fri, 12 Jul 2002 10:35:00 +0900 (JST) Sender: bug-gnu-emacs-admin@gnu.org Message-ID: <20020712.103500.40922275.tune@bg.wakwak.com> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Fri_Jul_12_10:35:00_2002_672)--" Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1026437729 19107 127.0.0.1 (12 Jul 2002 01:35:29 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 12 Jul 2002 01:35:29 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17SpLE-0004y4-00 for ; Fri, 12 Jul 2002 03:35:28 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17SpLz-0003vW-00; Thu, 11 Jul 2002 21:36:15 -0400 Original-Received: from bg.wakwak.com ([211.132.128.102]) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17SpKv-0003tr-00 for ; Thu, 11 Jul 2002 21:35:09 -0400 Original-Received: from localhost (z106.61-115-65.ppp.wakwak.ne.jp [61.115.65.106]) by bg.wakwak.com (8.12.5/8.12.5/2002-06-28) with ESMTP id g6C1Z0Gx007554 for ; Fri, 12 Jul 2002 10:35:01 +0900 (JST) (envelope-from tune@bg.wakwak.com) X-Authentication-Warning: bg.wakwak.com: Host z106.61-115-65.ppp.wakwak.ne.jp [61.115.65.106] claimed to be localhost Original-To: bug-gnu-emacs@gnu.org X-Mailer: Mew version 3.0.55 on Emacs 20.7 / Mule 4.1 (AOI) Errors-To: bug-gnu-emacs-admin@gnu.org X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GNU Emacs, the Swiss army knife of text editors List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.bugs:2646 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:2646 ----Next_Part(Fri_Jul_12_10:35:00_2002_672)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello!! This is the first report for me. This report is not bug but improving as giving a subject. I made files "bindings.el.diff", "ChangeLog", and "report.txt", which are attached files. Please check them. Addition: (emacs-version) => "GNU Emacs 21.2.1 (i386-msvc-nt5.0.2195) of 2002-07-12 on localhost" File "bindings.el.diff" is made, and is tested on this emacs version. Improved function "mode-line-unbury-buffer" operate more precisely as `unbury-buffer' symmetrically with `bury-buffer'. -- Toru Tsuneyoshi (Tokyo, Japan) ----Next_Part(Fri_Jul_12_10:35:00_2002_672)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="bindings.el.diff" *** bindings.el.orig Mon Jul 1 15:25:12 2002 --- bindings.el Fri Jul 12 00:20:49 2002 *************** *** 262,271 **** (interactive "e") (save-selected-window (select-window (posn-window (event-start event))) ! (let ((list (reverse (buffer-list)))) ! (while (eq (aref (buffer-name (car list)) 0) ? ) ! (setq list (cdr list))) ! (switch-to-buffer (car list))))) (defun mode-line-bury-buffer (event) "\ Like bury-buffer, but temporarily select EVENT's window." --- 262,286 ---- (interactive "e") (save-selected-window (select-window (posn-window (event-start event))) ! (let ((cur-buffer-name (buffer-name (current-buffer))) ! (cur-buffer-list (mapcar (function buffer-name) (buffer-list))) ! selected-buffer-name) ! ;; Reverse buffer-list. ! (mapcar ! (function bury-buffer) ! (reverse cur-buffer-list)) ! ;; Select the most likely candidate for `other-buffer' to return. ! (setq selected-buffer-name (buffer-name (other-buffer))) ! (if (string= selected-buffer-name cur-buffer-name) ! (setq selected-buffer-name "*scratch*")) ! ;; Select buffer of selected-buffer-name in the current window. ! (switch-to-buffer selected-buffer-name) ! ;; Return to the original state (except a head) of buffer-list. ! (delete selected-buffer-name cur-buffer-list) ! (mapcar ! (function bury-buffer) ! cur-buffer-list))) ! nil) (defun mode-line-bury-buffer (event) "\ Like bury-buffer, but temporarily select EVENT's window." ----Next_Part(Fri_Jul_12_10:35:00_2002_672)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename=ChangeLog 2002-07-12 Toru Tsuneyoshi * bindings.el (mode-line-unbury-buffer): Improve so that this function may operate more precisely as `unbury-buffer'. ----Next_Part(Fri_Jul_12_10:35:00_2002_672)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="report.txt" -*- mode: outline; outline-regexp: "\t*[*]+"; tab-width: 8 -*- * spec of function "bury-buffer" called by "mode-line-bury-buffer" * example 1 current-buffer | V ("A" "B" "C" "D" "E") : (buffer-name of) buffer-list | | bury-buffer V ("B" "C" "D" "E" "A") * example 2 ("A") | | bury-buffer V ("*scratch*" "A") : "*scratch*" is made * example 3 not displayed yet | V ("A" "*scratch*" "*Messages*") | | bury-buffer V ("*scratch*" "*Messages*" "A") | | bury-buffer V ("A" "*Messages*" "*scratch*") : "*Messages*" isn't displayed * spec of original function "mode-line-unbury-buffer" * example 1 ("A" "B" "C" "D" "E") | | mode-line-unbury-buffer V ("E" "A" "B" "C" "D") * example 2 ("A") | | mode-line-unbury-buffer V ("A") : "*scratch*" isn't made * example 3 not displayed yet | V ("A" "*scratch*" "*Messages*") | | mode-line-unbury-buffer V ("*Messages*" "A" "*scratch*") : "*Messages*" is displayed | | mode-line-unbury-buffer V ("*scratch*" "*Messages*" "A") * spec of fixed function "mode-line-unbury-buffer" * example 1 ("A" "B" "C" "D" "E") | | mode-line-unbury-buffer V ("E" "A" "B" "C" "D") * example 2 ("A") | | mode-line-unbury-buffer V ("*scratch*" "A") : "*scratch*" is made * example 3 not displayed yet | V ("A" "*scratch*" "*Messages*") | | mode-line-unbury-buffer V ("*scratch*" "A" "*Messages*") | | mode-line-unbury-buffer V ("A" "*scratch*" "*Messages*") : "*Messages*" isn't displayed ----Next_Part(Fri_Jul_12_10:35:00_2002_672)----