Re: Are there ECB-users willing to pretest the nextforthcoming ECB-release with a lot of NEWS?

Michael Reiher <[email protected]> Fri, 8 May 2009 18:13:39 +0200
Newsgroups gmane.emacs.code-browser
Message-ID <[email protected]>
On Friday 08 May 2009 16:31:47 [email protected] wrote:
> Hi,
>
> One plea: could you please provide a diff against current CVS-source-code
> (either update your repo or install current CVS-snapshot from the
> ECB-website - both updated 10 min ago)...otherwise it is hard for me to
> localize...
No problem. New patch against latest snapshot.

>
> In addition it would be great if you could provide an example what exactly
> goes wrong - i have to admit that i have not fully understood your
> problem-description but maybe i'm simply overworked short before weekend
> ;-)
Sure :) You have these automaximize chains in ECB e.g. directories -> sources 
-> methods. So when you select a buffer it gets maximized. And when an entry 
is selected in this buffer, the buffer goes away and the next buffer in the 
chain is expanded to full height. When you select an entry in the last buffer 
in such a chain, the original layout should be restored. However this doesn't 
happen, the buffer remains at full height.

On the one hand this fails for source and history (in ecb-source-item-clicked) 
in case there is no methods buffer in the layout (e.g. left5), as ecb-undo-
maximize-ecb-buffer is never called if there is no methods buffer. It seems 
that some conditions are simply wrongly nested.

On the other hand this fails for the methods buffer (in ecb-method-clicked), 
as there is simply no ecb-undo-maximize-ecb-buffer here. (It used to be there, 
but commented out, as there was a bug with it. However now that I tried it 
again it seems to work fine.)

Hope this makes things a bit clearer :)

Greets Michael

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com

_______________________________________________
Ecb-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ecb-list
ecb.diff (text/x-patch, 1.7 KB)
diff -bur ecb-snap.orig/ecb-file-browser.el ecb-snap/ecb-file-browser.el
--- ecb-snap.orig/ecb-file-browser.el	2009-05-08 17:38:25.000000000 +0200
+++ ecb-snap/ecb-file-browser.el	2009-05-08 17:41:57.000000000 +0200
@@ -3954,12 +3954,12 @@
   ;; contained in current layout then we have to redraw the full layout first
   ;; so the contents of the clicked source-file can be displayed in the
   ;; methods-buffer.
-  (when (and (ecb-buffer-is-maximized-p (buffer-name))
-             (ecb-buffer-is-ecb-buffer-of-current-layout-p
-              ecb-methods-buffer-name))
-    (if (ecb-member-of-symbol/value-list
+  (when (ecb-buffer-is-maximized-p (buffer-name))
+    (if (and (ecb-member-of-symbol/value-list
          (buffer-name)
          ecb-maximize-next-after-maximized-select)
+             (ecb-buffer-is-ecb-buffer-of-current-layout-p
+              ecb-methods-buffer-name))
         (progn
           (ecb-maximize-ecb-buffer ecb-methods-buffer-name)
           (ecb-window-select ecb-methods-buffer-name))
diff -bur ecb-snap.orig/ecb-method-browser.el ecb-snap/ecb-method-browser.el
--- ecb-snap.orig/ecb-method-browser.el	2009-05-08 17:38:25.000000000 +0200
+++ ecb-snap/ecb-method-browser.el	2009-05-08 17:41:57.000000000 +0200
@@ -3790,6 +3790,9 @@
   "Does all necessary when a user clicks onto a node in the methods-buffer."
   (if shift-mode
       (ecb-mouse-over-method-node node nil nil 'force))
+	;; Undo maximize
+	(when (ecb-buffer-is-maximized-p (buffer-name))
+		(ecb-undo-maximize-ecb-buffer t))
   ;; First of all we must highlight the tag
   (tree-buffer-highlight-node-by-data/name (tree-node->data node))
   (if (= (tree-node->type node) ecb-methods-nodetype-bucket)