Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

- rearranged some info-docs

- fixed bugs in tree-buffer.el concerning modeline-events
- changed default-value of create-layout frame-sizes
- some small fixes
  • Loading branch information...
commit f14c01510757a016d69f838c48f4d968a2c5bfe1 1 parent 67861e7
berndl authored
View
13 NEWS
@@ -1,3 +1,16 @@
+* Changes for ECB version 2.40.1
+
+** Fixed Bugs
+
+*** Fixed a bug which prevents the ecb-windows from being vertically resizeable
+ This bug occured only when using Gnu Emacs.
+
+*** Fixed a bug concerning horizontal mouse-scrolling of ecb-windows via
+ modeline-click when the ecb-window was not the selected window.
+ This bug occured only when using Gnu Emacs.
+
+
+
* Changes for ECB version 2.40
** ECB now requires full CEDET-suite being installed (at least version 1.0pre6)
View
9 TODO
@@ -1,12 +1,3 @@
-- Implement ecb-upgrading with the new url-package of Emacs 22 and with
- url-dl.el (at least copy this code into ecb-upgrade) - in combination with
- tar-mode it should be possible to download and extract a new ecb-version
- without any external tools like wget, tar and gzip!
-
-- Implementing the class-browser of speedbar native with ECB in an
- additional special ecb-window - a very important todo of high
- priority!
-
- Distinction of include-tags by "" or <>. This can be done via
(semantic-tag-include-system-p TAG). Thanks to Markus grietsch.
But probably it would be the best if semantic itself does this special
View
6 ecb-create-layout.el
@@ -68,12 +68,12 @@
:group 'ecb-create-layout
:type 'file)
-(defcustom ecb-create-layout-frame-width 110
+(defcustom ecb-create-layout-frame-width 140
"*Frame width of the layout creation frame."
:group 'ecb-create-layout
:type 'integer)
-(defcustom ecb-create-layout-frame-height 42
+(defcustom ecb-create-layout-frame-height 51
"*Frame height of the layout creation frame."
:group 'ecb-create-layout
:type 'integer)
@@ -85,7 +85,7 @@
(defconst ecb-create-layout-buf-prefix " *ECB-LC-")
(defconst ecb-create-layout-frame-name "Creation of a new ECB-layout")
(defconst ecb-create-layout-all-buf-types
- '("directories" "history" "methods" "sources" "speedbar" "analyse"))
+ '("directories" "history" "methods" "sources" "speedbar" "analyse" "symboldef"))
(defconst ecb-create-layout-help-text-left-right
"
View
10 ecb-layout.el
@@ -4139,7 +4139,7 @@ visibility of the ECB windows. ECB minor mode remains active!"
(let ((compwin-hidden (equal 'hidden
(ecb-compile-window-state))))
(if (ecb-buffer-is-maximized-p)
- (ecb-maximize-ecb-buffer ecb-current-maximized-ecb-buffer-name)
+ (ecb-maximize-ecb-buffer (ecb-maximized-ecb-buffer-name))
(ecb-redraw-layout-full))
(if compwin-hidden
(ecb-toggle-compile-window -1)))
@@ -4219,8 +4219,8 @@ current edit-window is selected."
(ecb-window-select ecb-compile-window))))
(ecb-info-message "Maximizing has been undone."))))
-(defun ecb-maximized-tree-buffer-name ()
- "Return the currently maximized tree-buffer-name or nil if there is none."
+(defun ecb-maximized-ecb-buffer-name ()
+ "Return the currently maximized special ecb-buffer-name or nil if there is none."
ecb-current-maximized-ecb-buffer-name)
(defun ecb-buffer-is-maximized-p (&optional ecb-buffer-name)
@@ -4231,8 +4231,8 @@ buffer of current layout is maximized otherwise nil."
(if ecb-buffer-name
(and (ecb-buffer-is-ecb-buffer-of-current-layout-p ecb-buffer-name)
(equal ecb-buffer-name
- ecb-current-maximized-ecb-buffer-name))
- ecb-current-maximized-ecb-buffer-name))
+ (ecb-maximized-ecb-buffer-name)))
+ (ecb-maximized-ecb-buffer-name)))
(defun ecb-maximize-ecb-buffer (ecb-buffer-name &optional preserve-selected-window)
"Maximize that window which displays the special ECB-buffer ECB-BUFFER-NAME.
View
16 ecb-symboldef.el
@@ -272,21 +272,23 @@ Only prints mode and info but does not find any symbol-definition."
keys ", "))
"is a command with no keys"))
"is a function")))
- (insert (format "%s\n\n" (or (documentation symbol)
- "Not documented")))
(setq args (ecb-symboldef-get-elisp-arglist symbol))
- ;; KB: We display the arglist AFTER the documentation because in GNU
- ;; Emacs the documentation of subr's (test by subrp) contains the
- ;; arglist at the end of the documentation so we display it at the same
- ;; place for all other functions. The internal help of GNU Emacs has an
- ;; ugly hack for its function-help (see `describe-function-1' in
+ ;; KB: we could display the arglist AFTER the documentation because in
+ ;; GNU Emacs the documentation of subr's (test by subrp) contains the
+ ;; arglist at the end of the documentation so we could display it at the
+ ;; same place for all other functions. The internal help of GNU Emacs
+ ;; has an ugly hack for its function-help (see `describe-function-1' in
;; help.el) which searches for the arglist of subr's in the docu,
;; removes it from the end and inserts it again at beginning of the
;; documentation. I'm to lazy to do the same here because it's a clumsy
;; hack...but if you want the arglist in front of the docu-text you have
;; to do this here too (how to do it can be seen in
;; `describe-function-1').
+ ;; but so we have at least for most functions the arglist before the
+ ;; docs which is much better.
(and args (insert (format "%s\n\n" args)))
+ (insert (format "%s\n\n" (or (documentation symbol)
+ "Not documented")))
(setq retval (format "Lisp %s"
(if (commandp symbol)
"Command"
View
16 ecb-util.el
@@ -665,6 +665,22 @@ results in
;; (string< (symbol-name (cdr item1)) (symbol-name (cdr item2)))
;; (string< (car item1) (car item2)))))
+(defun ecb-values-of-symbol/value-list (list &optional elem-accessor)
+ "Return a list of values build from the members of LIST.
+The result-list is a list which is build from LIST by using the
+symbol-value if a list-member is a symbol and otherwise the
+list-member itself.
+
+If ELEM-ACCESSOR is a function then it is used to get that part of an elem
+of LIST for which the rule above should be applied."
+ (let ((elem-acc (or elem-accessor 'identity)))
+ (mapcar (function (lambda (elem)
+ (let ((e (funcall elem-acc elem)))
+ (if (symbolp e)
+ (symbol-value e)
+ e))))
+ list)))
+
;; Maybe we should enhance this docstring ;-)
(defun ecb-member-of-symbol/value-list (value list &optional elem-accessor
return-accessor compare-fcn)
View
3,332 ecb.texi
1,669 additions, 1,663 deletions not shown
View
15 html/Makefile
@@ -118,18 +118,19 @@ upload-build: $(ecb_HTMLDOCU_DIR)/index.html NEWS.html website
# Uploads a complete new website build to ecb.sourceforge.net
upload: website upload-build
$(SCP) $(ecb_UPLOAD_ARC) $(ecb_SCP_login):$(ecb_WEBSITE_LOC)
- @echo "Unpacking the new website..."
- $(SSH) "cd $(ecb_ECB_LOC)/$(ecb_WEBSITE_LOC); gzip -d $(ecb_UPLOAD_ARC); tar -xf $(ecb_UPLOAD_ARC_UNZIPPED); rm -f $(ecb_UPLOAD_ARC_UNZIPPED)"
+ @echo "For unpacking and installing the new contents do:"
+ @echo "1. open a shell at SF with ssh: ssh -t berndl,ecb@shell.sourceforge.net create"
+ @echo "2. Run ./update_website.sh (this extracts the archive and performs all chmods)"
# Uploads all files currently in ./files-for-upload
upload-update:
@(cd files-for-upload; \
- $(TARC) update.tar.gz *; \
+ $(TARC) $(ecb_UPLOAD_ARC) *; \
echo "Uploading the updates..."; \
- $(SCP) update.tar.gz $(ecb_SCP_login):$(ecb_WEBSITE_LOC); \
- echo "Unpacking the updates..."; \
- $(SSH) "cd $(ecb_ECB_LOC)/$(ecb_WEBSITE_LOC); gzip -d update.tar.gz; tar -xf update.tar; rm -f update.tar"; \
- $(RM) update.tar.gz)
+ $(SCP) $(ecb_UPLOAD_ARC) $(ecb_SCP_login):$(ecb_WEBSITE_LOC); \
+ echo "1. open a shell at SF with ssh: ssh -t berndl,ecb@shell.sourceforge.net create"; \
+ echo "2. Run ./update_website.sh (this extracts the archive and performs all chmods)"; \
+ $(RM) $(ecb_UPLOAD_ARC))
update-cvs-snapshot:
View
59 html/ecb-html.el
@@ -53,44 +53,27 @@
;; These shouldn't have to be changed
(defvar ecb-dirname nil)
(setq ecb-dirname (concat "ecb-" ecb-version))
-(defvar ecb-zip-name nil)
-(setq ecb-zip-name (concat ecb-dirname ".zip"))
-(defvar ecb-gz-name nil)
-(setq ecb-gz-name (concat ecb-dirname ".tar.gz"))
-(defvar ecb-zip-url nil)
-(setq ecb-zip-url (concat ecb-download-ecb-url ecb-zip-name))
-(defvar ecb-gz-url nil)
-(setq ecb-gz-url (concat ecb-download-ecb-url ecb-gz-name))
-(defvar ecb-pdf-name nil)
-(setq ecb-pdf-name (concat ecb-dirname ".pdf"))
-(defvar ecb-pdf-zip-name nil)
-(setq ecb-pdf-zip-name (concat ecb-pdf-name ".zip"))
-(defvar ecb-pdf-gz-name nil)
-(setq ecb-pdf-gz-name (concat ecb-pdf-name ".gz"))
-(defvar ecb-pdf-zip-url nil)
-(setq ecb-pdf-zip-url (concat ecb-download-ecb-url ecb-pdf-zip-name))
-(defvar ecb-pdf-gz-url nil)
-(setq ecb-pdf-gz-url (concat ecb-download-ecb-url ecb-pdf-gz-name))
-
(defvar ecb-latest-news nil
"List of latest news displayed on the main page.")
(setq ecb-latest-news
`(
- ,(h-sub-section "ECB 2.40 released! (2009-05-??)"
+ ,(h-sub-section "ECB 2.40 released! (2009-05-16)"
"ECB now requires full CEDET being installed (at least
1.0pre6). ECB has now more user-responsible
buffer-parsing based on the idle-mechanism of
- semantic. ECB is full compatible with Emacs 22 and 23
- and also with XEmacs. ECB is able to work with
- indirect buffers it the base-buffer is filebased. It
+ semantic. In addition it fully supports current
+ semantic-analyzer for intellisense and type-finding. ECB is more stable and now fully compatible with Emacs 22 and 23
+ and also mostly with XEmacs. ECB is able to work with
+ indirect buffers if the base-buffer is filebased. It
has a complete reworked history-buffer which can be
bucketized and shows dead- and indirect-buffers in
different faces. It has new support for Git and
- Monotone as version-control systems. In addition a lot of bugs are fixed."
+ Monotone as version-control systems. In addition a lot
+ of bugs are fixed. "
(h-link "docs/Install-and-first-steps.html#Install%20and%20first%20steps" "Here") " is a short installation guide. "
"Click " (h-link "NEWS.html" "here")
- " for information about changes in the new version. ")
+ " for information about all changes in the new version. ")
,(h-sub-section "ECB 2.32 released! (2005-07-11)"
"ECB offers now two new interactors (special ecb-windows): One for the semantic-analyser (of cedet) and one for displaying the definition of current symbol at point. In addition the up- and down-arrow-keys are also smart in the tree-buffers. Much better maximizing and minimizing of the ecb-windows. Support for (X)Emacs < 21 has been officialy removed. Full documentation of the library tree-buffer.el. Some important bug-fixes. "
(h-link "docs/Install-and-first-steps.html#Install%20and%20first%20steps" "Here") " is a short installation guide. "
@@ -308,7 +291,7 @@
(h-bullet-link-list
ecb-bullet
'(("http://cedet.sourceforge.net" "Full CEDET suite" "Recommend is the newest release, required is at least a version >= 1.0pre6.")
- ("http://jdee.sunsite.dk" "JDEE (optional)" "If you use ECB for Java development."))
+ ("http://jdee.sourceforge.net/" "JDEE (optional)" "If you use ECB for Java development."))
"_top")
(h-p "If you use XEmacs you must have installed the packages mail-lib and c-support (contains hideshow.el)."))
@@ -370,7 +353,7 @@
(list
(list "http://www.gnu.org/software/emacs/emacs.html" "GNU Emacs" (concat "No comment " (h-img "smiley.gif")))
'("http://www.xemacs.org" "XEmacs" "")
- '("http://jdee.sunsite.dk" "JDEE" "Recommended Java development environment for Emacs.")
+ '("http://jdee.sourceforge.net/" "JDEE" "Recommended Java development environment for Emacs.")
'("http://cedet.sourceforge.net" "CEDET" "A collection of Emacs development tools created by Eric M. Ludlam.")
'("http://www.anc.ed.ac.uk/~stephen/emacs/ell.html" "Emacs Lisp List" "A good collection of Emacs lisp packages.")
)
@@ -403,13 +386,13 @@
("links.html" "Links")
)
"main"))
- (h-p
- (h-b "Latest version: ") h-br
- (h-img ecb-bullet) " " (h-link ecb-zip-url (h-b ecb-zip-name)) h-br
- (h-img ecb-bullet) " " (h-link ecb-gz-url (h-b ecb-gz-name)))
+;; (h-p
+;; (h-b "Latest version: ") h-br
+;; (h-img ecb-bullet) " " (h-link ecb-zip-url (h-b ecb-zip-name)) h-br
+;; (h-img ecb-bullet) " " (h-link ecb-gz-url (h-b ecb-gz-name)))
(h-p
(h-b "Hosted by: ") h-br
- (h-link "http://sourceforge.net/projects/ecb" '(target . "_top") (h-img "http://sflogo.sourceforge.net/sflogo.php?group_id=17484&amp;type=13" "width='120' height='30' border='0' alt='Get ECB at SourceForge.net. Fast, secure and Free Open Source software downloads'")))
+ (h-link "http://sourceforge.net/projects/ecb" '(target . "_top") (h-img "http://sflogo.sourceforge.net/sflogo.php?group_id=17484&amp;type=13" "width='120' height='30' border='0' alt='Get ECB at SourceForge.net. Fast, secure and Free Open Source software downloads'"))) ;;
(h-p
(h-b "Updated: ") h-br
(h-date))
@@ -434,18 +417,6 @@
"ECB-Download Area") " at SourceForge.")
(h-line)
(h-sub-section
- "Download ECB as regular XEmacs-package."
- "ECB >= 1.80 can also be installed as a regular XEmacs-package. There are several possibilties:"
- (h-bullet-link-list
- ecb-bullet
- (list
- '("http://www.xemacs.org/Download/win32/setup.exe" "Windows XEmacs-netinstaller" "Use the netinstaller for easy installing ECB direct from the web.")
- '("ftp://ftp.xemacs.org:/pub/xemacs/packages/" "Download from xemacs.org" "FTP-download of XEmacs-packages.")
- '("http://ftp.xemacs.org:/pub/xemacs/packages/" "Download from xemacs.org" "HTTP-download of XEmacs-packages.")
- )
- "_top"))
- (h-line)
- (h-sub-section
"Download from CVS repository"
(h-bullet-link-list
ecb-bullet
View
46 tree-buffer.el
@@ -107,6 +107,8 @@
;; wrong-type-argument error.
(ignore-errors (event-key event)))))
(defalias 'tree-buffer-event-window 'event-window)
+ (defun tree-buffer-event-buffer (event)
+ (window-buffer (tree-buffer-event-window event)))
(defalias 'tree-buffer-event-point 'event-point)
;; stolen from dframe.el of the speedbar-library.
(defun tree-buffer-mouse-set-point (e)
@@ -134,6 +136,8 @@
(defalias 'tree-buffer-window-display-height 'window-text-height)
(defun tree-buffer-event-window (event)
(posn-window (event-start event)))
+ (defun tree-buffer-event-buffer (event)
+ (window-buffer (tree-buffer-event-window event)))
(defun tree-buffer-event-point (event)
(posn-point (event-start event)))
(defalias 'tree-buffer-mouse-set-point 'mouse-set-point)
@@ -950,7 +954,25 @@ get the data.")
tree-buffer-running-xemacs
"If true then tree-buffer tries to deal best with the XEmacs-bug to display
adjacent images not correctly. Set this to nil if your XEmacs-version has fixed
-this bug.")
+this bug.
+
+This bug can be reproduced with XEmacs without active
+tree-buffers - just copy the following code to the *scratch*
+buffer and evaluate it:
+
+\(progn
+ \(pop-to-buffer \(get-buffer-create \"*test*\"))
+ \(let \(\(str1 \"abc\")
+ \(str2 \"def\")
+ \(glyph1 \(make-glyph \"X\"))
+ \(glyph2 \(make-glyph \"Y\")))
+ \(add-text-properties 0 3 `\(end-glyph ,glyph1 invisible t) str1)
+ \(add-text-properties 0 3 `\(end-glyph ,glyph2 invisible t) str2)
+ \(insert str1) \(insert str2)))
+
+If the bug is still there then there is only a Y being displayed but the correct
+behavior would be displaying XY. Only in the latter case this variable should
+be set to nil!")
(defconst tree-buffer-image-formats
'((xpm ".xpm") (png ".png") (gif ".gif") (jpeg ".jpg" ".jpeg")
@@ -1318,8 +1340,10 @@ to test NODE-DATA-1 and NODE-DATA-2 for equality."
(frame-width)))
(click-col (+ (/ (* 10 x-point) pixels-per-10-col)
(if include-fringe-scrollbar
- (length (tree-buffer-spec->sticky-indent-string
- tree-buffer-spec))
+ (length (save-excursion
+ (set-buffer (tree-buffer-event-buffer e))
+ (tree-buffer-spec->sticky-indent-string
+ tree-buffer-spec)))
0))))
click-col))
@@ -1338,12 +1362,14 @@ If the mouse is being clicked on the far left, or far right of the
mode-line. This is only useful for non-XEmacs"
(interactive "e")
(let* ((click-col (tree-buffer-get-event-column e t)))
- (cond ((< click-col 4)
- (tree-buffer-hscroll (- (tree-buffer-spec->hor-scroll-step tree-buffer-spec))))
- ((> click-col (- (window-width) 4))
- (tree-buffer-hscroll (tree-buffer-spec->hor-scroll-step tree-buffer-spec)))
- (t (tree-buffer-nolog-message
- "Click on the edge of the modeline to scroll left/right")))
+ (save-selected-window
+ (select-window (tree-buffer-event-window e))
+ (cond ((< click-col 4)
+ (tree-buffer-hscroll (- (tree-buffer-spec->hor-scroll-step tree-buffer-spec))))
+ ((> click-col (- (window-width) 4))
+ (tree-buffer-hscroll (tree-buffer-spec->hor-scroll-step tree-buffer-spec)))
+ (t (tree-buffer-nolog-message
+ "Click on the edge of the modeline to scroll left/right"))))
))
(defun tree-buffer-count-subnodes-to-display (node)
@@ -3321,7 +3347,7 @@ See Info node `(ecb)tree-buffer' for all details of using tree-buffers."
;; This lets the GNU Emacs user scroll as if we had a horiz.
;; scrollbar...
(define-key tree-buffer-key-map
- (tree-buffer-create-mouse-key 1 'button-press nil 'mode-line)
+ (tree-buffer-create-mouse-key 1 'button-release nil 'mode-line)
'tree-buffer-mouse-hscroll))
(use-local-map tree-buffer-key-map)
Please sign in to comment.
Something went wrong with that request. Please try again.