[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: `w3m-select-buffer' deletes all other windows.



David Hansen <david.hansen@xxxxxxx> writes:

> can I get `w3m-select-buffer' to keep all other windows of the current
> frame?  Is the current behavior a bug or is this intended?
>
> All related configuration I have done is
>
> (setq w3m-select-buffer-horizontal-window nil)

The following patch would make emacs-w3m to work as you want. I don't
know why emacs-w3m act like this, but looking at the following extract
from ChangeLog, this behavior might be intended.

.-------------------------------------------------------------------------------
| 2003-11-10  Katsumi Yamaoka  <yamaoka@xxxxxxx>
| 
|       <snip>            
| 	(w3m-select-buffer): Revert the 2003-11-05 change; delete other windows
| 	except for the current emacs-w3m window or create a new emacs-w3m
| 	buffer when it is called initially.
| 
| 2003-11-05  Katsumi Yamaoka  <yamaoka@xxxxxxx>
| 
|       <snip>
| 	(w3m-select-buffer-saved-window-config): New variable.
| 	(w3m-select-buffer): Save the window configuration.
| 	(w3m-select-buffer-copy-buffer): Bind `pop-up-frames'.
| 	(w3m-select-buffer-quit): Restore the window configuration; protect
| 	agains the absence of an emacs-w3m buffer.
`-------------------------------------------------------------------------------

Regards,
Naohiro Aota

Index: w3m.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.1367
diff -u -r1.1367 w3m.el
--- w3m.el	3 Jun 2008 00:50:47 -0000	1.1367
+++ w3m.el	5 Jun 2008 17:56:29 -0000
@@ -9576,16 +9576,18 @@
     (when (get-buffer-window w3m-select-buffer-name)
       (delete-windows-on w3m-select-buffer-name)))
   (cond ((eq major-mode 'w3m-mode)
-	 (w3m-delete-frames-and-windows (selected-window))
-	 (unless (get-buffer-window w3m-select-buffer-name)
-	   (delete-other-windows)))
+	 ;; (w3m-delete-frames-and-windows (selected-window))
+	 ;; (unless (get-buffer-window w3m-select-buffer-name)
+	 ;;  (delete-other-windows))
+	 )
 	((eq major-mode 'w3m-select-buffer-mode))
 	(t
 	 (let ((buffer (w3m-alive-p t)))
 	   (if buffer
 	       (w3m-popup-buffer buffer)
 	     (w3m-goto-url (or w3m-home-page "about:"))))
-	 (delete-other-windows)))
+	 ;; (delete-other-windows)
+	 ))
   (let ((selected-window (selected-window))
 	(current-buffer (current-buffer)))
     (set-buffer (w3m-get-buffer-create w3m-select-buffer-name))