Skip to content

Commit 2c2bb9a

Browse files
committed
updated readme and TODO
removed some warnings
1 parent 1684ba5 commit 2c2bb9a

File tree

11 files changed

+231
-256
lines changed

11 files changed

+231
-256
lines changed

README

Lines changed: 16 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,29 @@
1-
README for the Emacs Code Browser (ECB) version 2.40.1
1+
README for the Emacs Code Browser (ECB) version 2.51.0
22

33

44
About
55
-----
66

77
This package contains a code browser for several programming-languages for
8-
(X)Emacs. For instructions on how to use the browser read the online-help
8+
Emacs. For instructions on how to use the browser read the online-help
99
either with the shipped info-manual (see "Usage" below) or direct from the
10-
ECB-Homepage at http://ecb.sourceforge.net.
10+
new github ECB-Homepage at https://github.com/ecb-new-home/ecb
1111

12-
The latest version can be found at: http://ecb.sourceforge.net
12+
The latest version can be found at: https://github.com/ecb-new-home/ecb
1313

1414
------------
1515
Requirements
1616
------------
1717

18-
The short story:
19-
20-
With Emacs >= 23.2 there is nothing to do. With XEmacs or Emacs < 23.2 you
21-
have to install the CEDET-suite by hand.
22-
23-
The long story:
24-
25-
1. Emacs-version: ECB works only with (X)Emacs >= 21! If you have an older
26-
one, please upgrade.
27-
28-
2. CEDET-suite: If Emacs >= 23.2 is used then CEDET is already integrated
29-
into Emacs and there is nothing to do.
30-
31-
For users of any XEmacs-version, any Emacs-version < 23.2 or the latest
32-
author CEDET version: Get it from http://cedet.sourceforge.net, read
33-
the setup-instructions in http://cedet.sourceforge.net/setup.shtml and
34-
read also the shipped file `INSTALL'.
35-
36-
*Please note*: If ECB detects an author version of CEDET (as available
37-
at http://cedet.sourceforge.net) then ECB will ALWAYS try to use that
38-
one even if you use Emacs >= 23.2! This is for users who want to use
39-
latest Emacs >= 23.2 but still prefer using the latest author version of
40-
CEDET instead of the Emacs-integrated one.
41-
42-
So if you want to use the Emacs-integrated CEDET-suite of Emacs >= 23.2
43-
you have to ensure that no author-version of CEDET is in the `load-path'!
44-
This means that the library cedet.el of the author-version MUST NOT be
45-
loaded into Emacs (as described in the file INSTALL of CEDET)! This is a
46-
valid check: (locate-library "semantic-ctxt") must return nil!
47-
48-
3. Only for XEmacs-users: If you use XEmacs you must have installed the
49-
package c-support (contains hideshow.el). If you want to read the
50-
online-help of ECB in HTML-format you must have the library browse-url
51-
(part of the mail-lib XEmacs package) installed; this package is also
52-
needed for submitting problem-reports to the ECB-maintainers!
53-
54-
4. Optional for Java-coding: ECB works very well with the JDEE package (
55-
http://jdee.sourceforge.net) but JDEE is not required by ECB.
56-
57-
58-
Do not install ECB before you have successfully installed the requirements!
18+
With Emacs >= 29.x there is nothing to do. Older version will not work.
5919

20+
*IMPORTANT*: ECB is no longer runnable as XEmacs-package
21+
Support for XEmacs is gone.
6022

6123
------------
6224
Installation
6325
------------
6426

65-
*IMPORTANT*: ECB is no longer runnable as XEmacs-package via the
66-
package-manager of XEmacs. This is because CEDET is not available as
67-
XEmacs-package. Therefore ECB can also not be run as XEmacs-package. If CEDET
68-
will later become a XEmacs-package then probably ECB will come back as
69-
XEmacs-package. But in the meanwhile you have to install ECB "by hand".
7027

7128
1. Fulfill all requirements ECB needs (s.a. Requirements)
7229

@@ -130,7 +87,7 @@ XEmacs-package. But in the meanwhile you have to install ECB "by hand".
13087
CEDET into Emacs must be placed somewhere before the statements needed for
13188
loading ECB (s.a.)!
13289

133-
5. Restart (X)Emacs.
90+
5. Restart Emacs.
13491

13592
ECB is now ready for use and can be activated by calling `M-x ecb-activate'
13693
or `ecb-minor-mode'. Now you can either starting using ECB or you can do
@@ -181,15 +138,16 @@ these optional installation steps:
181138
--------------
182139
Using Makefile
183140
--------------
141+
184142
Makefile can be configured using Makefile.conf, for which there is a template in
185143
Makefile.conf.template. Usually it's enough to set a path to CEDET (if you use
186144
repo version) and EMACSINFOPATH to local (e.g. ~/.emacs.d/info).
187145

188146
For Linux, Makefile tries to use reasonable defaults.
189147

190148
You can print configuration used in Makefile using `make printconf'.
191-
192-
-----
149+
150+
-----
193151
Usage
194152
-----
195153

@@ -205,16 +163,12 @@ using ECB the first time you should read the online help accurately!
205163
Contacts
206164
--------
207165

208-
Send comments, bug reports and improvement suggestions to:
166+
For comments, bug reports and improvement suggestions make an issue in:
167+
168+
https://github.com/ecb-new-home/ecb
209169

210-
170+
Do not use the "Mailing-list" [email protected]
171+
at the ECB-website at http://ecb.sourceforge.net any more
211172

212-
*IMPORTANT*: Cause of extra appearance of SPAM in the mailing-lists,
213-
SourceForge has changed its policy: Now it is only possible to post to the
214-
mailing-list for users who have subscribed this mailing-list.
215173

216-
So please be aware you will not be able to send comments, bug reports and
217-
improvement suggestions before you have subscribed the ECB-mailing-list. See
218-
the section "Mailing-list" at the ECB-website at http://ecb.sourceforge.net
219-
how to do this.
220174

TODO

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1+
- decide if ecb should use lexical binding
2+
3+
- a lot of warning must be solved
4+
5+
- remove some obsolete functions or macros like defadvice
6+
7+
- check if semantic and cedet wrapper functions are necessary
8+
19
- Distinction of include-tags by "" or <>. This can be done via
210
(semantic-tag-include-system-p TAG). Thanks to Markus grietsch.
311
But probably it would be the best if semantic itself does this special
4-
formating!
12+
formating!
513

614
- Prevent layout-engine from splitting windows when smaller than
715
window-min-height/width.

ecb-analyse.el

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
(require 'ecb-common-browser)
3636
(require 'ecb-method-browser)
3737
(require 'ecb-cedet-wrapper)
38+
(require 'ecb-semantic-wrapper)
3839

3940
(eval-when-compile
4041
(require 'silentcomp))
@@ -75,7 +76,7 @@ key-bindings only for the analyse-buffer of ECB."
7576
(defcustom ecb-analyse-show-node-info '(if-too-long . name)
7677
"*When to display which node-info in the analyse-buffer.
7778
Define which node info should displayed after moving the mouse over a node
78-
\(or after a shift click onto the node) in the analyse-buffer.
79+
(or after a shift click onto the node) in the analyse-buffer.
7980
8081
You can define \"when\" a node-info should be displayed:
8182
See `ecb-directories-show-node-info' for the possible choices.
@@ -102,7 +103,7 @@ The semantic analyse-modul offers several categories of analysis which are
102103
called buckets here. These are for example:
103104
104105
Context: The current context, which is the current function/method, variable,
105-
class etc. \(what exactly depends on the programming language) point is in.
106+
class etc. (what exactly depends on the programming language) point is in.
106107
This means not the current function/method/variable/class-name point stand on
107108
but the current surrounding context. Example: If point stays somewhere within
108109
a defun-definition in emacs-lisp or within a java-method then this defun rsp.
@@ -123,11 +124,11 @@ Function: Current function-name point stands on.
123124
Argument #: When point is located within a function-call then this is the
124125
number of the argument point stands on.
125126
126-
Completions: All possible completions for current prefix \(see above). This is
127+
Completions: All possible completions for current prefix (see above). This is
127128
probably the most helpful bucket.
128129
129130
If one of these categories/buckets are not needed per default then add the
130-
bucket-name \(s.a.) to this option and ECB will per default collapse this
131+
bucket-name (s.a.) to this option and ECB will per default collapse this
131132
bucket. So most needed buckets are better visible in the analyse-buffer."
132133
:group 'ecb-analyse
133134
:type '(repeat (choice :tag "Bucket" :menu-tag "Bucket"
@@ -174,7 +175,7 @@ fontified see the options `ecb-analyse-bucket-node-face' rsp.
174175
If nil then the default information about a tag will be displayed. If a
175176
function then this function gets as argument the tag for which tag-information
176177
should be displayed. This function has to return a string which will be then
177-
display as tag-info. This string has to be fully formatted \(e.g. must already
178+
display as tag-info. This string has to be fully formatted (e.g. must already
178179
include line-breaks if the tag-info should be displayed in several lines).
179180
180181
See `ecb-analyse-show-tag-info-fn' how the tag-info is displayed."
@@ -190,8 +191,8 @@ must do all things necessary for displaying this info. When this function is
190191
called the window stored in `ecb-last-edit-window-with-point' is the selected
191192
window!
192193
193-
ECB offers two builtin ways: Display the info in the echo-area \(via the
194-
function `message') or in a temp-buffer in the edit-area \(via the function
194+
ECB offers two builtin ways: Display the info in the echo-area (via the
195+
function `message') or in a temp-buffer in the edit-area (via the function
195196
`ecb-analyse-show-tag-info-in-temp-buffer'). Default is echo-area-display.
196197
197198
See also `ecb-analyse-gen-tag-info-fn'."
@@ -258,17 +259,17 @@ Preconditions for such a hook:
258259
- Current buffer is the buffer of the currently selected
259260
edit-window.
260261
- The analyse-buffer is displayed in a visible window of the
261-
ecb-frame \(so no check for visibilty of the analyse-buffer in
262+
ecb-frame (so no check for visibilty of the analyse-buffer in
262263
the ecb-frame is necessary in a hook function)
263264
264265
Postcondition for such a hook:
265266
Point must stay in the same edit-window as before evaluating the hook.
266267
267268
Important note: If the option `ecb-analyse-buffer-sync' is not
268269
nil the function `ecb-analyse-buffer-sync' is running either
269-
every time Emacs is idle or even after every command \(see
270+
every time Emacs is idle or even after every command (see
270271
`ecb-analyse-buffer-sync-delay'). So if the anaylse-buffer is
271-
displayed in a window of the ecb-frame \(see preconditions above)
272+
displayed in a window of the ecb-frame (see preconditions above)
272273
these hooks can be really called very often! Therefore each
273274
function of this hook should/must check in an efficient way at
274275
beginning if its task have to be really performed and then do
@@ -518,7 +519,7 @@ used as window."
518519
(defun ecb-maximize-window-analyse ()
519520
"Maximize the ECB-analyse-window.
520521
I.e. delete all other ECB-windows, so only one ECB-window and the
521-
edit-window\(s) are visible \(and maybe a compile-window). Works also if the
522+
edit-window(s) are visible (and maybe a compile-window). Works also if the
522523
ECB-analyse-window is not visible in current layout."
523524
(interactive)
524525
(ecb-maximize-ecb-buffer ecb-analyse-buffer-name t))

ecb-compatibility.el

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -114,19 +114,19 @@ BUFFER is displayed in an edit-window!"
114114
(ecb-point-in-dedicated-special-buffer))
115115
(ecb-select-edit-window)))
116116

117-
(defecb-advice electric-buffer-list before ecb-compatibility-advices
118-
"Ensures that the electric-* commands work well with ECB."
119-
(when (and ecb-minor-mode
120-
(equal (selected-frame) ecb-frame)
121-
(ecb-point-in-dedicated-special-buffer))
122-
(ecb-select-edit-window)))
123-
124-
(defecb-advice electric-buffer-list after ecb-compatibility-advices
125-
"Ensures that the electric-* commands work well with ECB."
126-
(when (and ecb-minor-mode
127-
(equal (selected-frame) ecb-frame))
128-
(if (ecb-buffer-obj "*Buffer List*")
129-
(bury-buffer (ecb-buffer-obj "*Buffer List*")))))
117+
;(defecb-advice electric-buffer-list before ecb-compatibility-advices
118+
; "Ensures that the electric-* commands work well with ECB."
119+
; (when (and ecb-minor-mode
120+
; (equal (selected-frame) ecb-frame)
121+
; (ecb-point-in-dedicated-special-buffer))
122+
; (ecb-select-edit-window)))
123+
;
124+
;(defecb-advice electric-buffer-list after ecb-compatibility-advices
125+
; "Ensures that the electric-* commands work well with ECB."
126+
; (when (and ecb-minor-mode
127+
; (equal (selected-frame) ecb-frame))
128+
; (if (ecb-buffer-obj "*Buffer List*")
129+
; (bury-buffer (ecb-buffer-obj "*Buffer List*")))))
130130

131131
;; package master.el
132132

ecb-face.el

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -112,17 +112,6 @@ tree-buffer can be very easily changed with face 'ecb-default-general-face'."
112112
:type 'face
113113
:group 'ecb-face-options)
114114

115-
(defface ecb-tree-buffer-face (ecb-face-default 1.0 nil nil
116-
'ecb-default-general-face
117-
"blue" "black")
118-
"*Face for the tree-buffers."
119-
:group 'ecb-faces)
120-
121-
(defcustom ecb-tree-buffer-face 'ecb-tree-buffer-face
122-
"*Face for the tree-buffers."
123-
:type 'face
124-
:group 'ecb-face-options)
125-
126115
(defface ecb-directories-general-face (ecb-face-default 1.0 nil nil
127116
'ecb-default-general-face)
128117
"*Basic face for the ECB directories buffer.

ecb-method-browser.el

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1910,7 +1910,7 @@ This function MUST be called with the source-buffer as current buffer!"
19101910

19111911
(defun ecb-children-tags (parent-tag)
19121912
"Return a list of children-tags of PARENT-TAG. If a child is not a
1913-
semantic-tag \(but a plain string) then it will be converted to a positionless
1913+
semantic-tag (but a plain string) then it will be converted to a positionless
19141914
tag of class 'variable."
19151915
(mapcar (function (lambda (c)
19161916
(cl-typecase c
@@ -2966,7 +2966,7 @@ not enabled for current source-buffer and the option
29662966
`ecb-force-reparse-when-semantic-idle-scheduler-off' is not nil then use
29672967
`ecb--semantic-fetch-tags' otherwise use `ecb--semantic-fetch-available-tags'.
29682968
The latter always returns just the currently available tags in the
2969-
semantic-cache \(reparsing is done completely by the idle-scheduler of
2969+
semantic-cache (reparsing is done completely by the idle-scheduler of
29702970
semantic if necessary). The former one triggers immediate parsing if
29712971
necessary!"
29722972
(if (or full

ecb-semantic-wrapper.el

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@
4949
(eval-when-compile
5050
(require 'silentcomp))
5151

52+
(eval-when-compile
53+
;; For the semantic-find-tags-for-completion macro.
54+
(require 'semantic/find))
55+
(require 'semantic/db-find) ;For type semanticdb-find-result-with-nil.
56+
5257
(eval-when-compile
5358
;; to avoid compiler grips
5459
(require 'cl-lib))

ecb-semantic.el

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@
3232
(require 'ecb-cedet-wrapper)
3333
(require 'ecb-util)
3434

35+
(eval-when-compile
36+
;; For the semantic-find-tags-for-completion macro.
37+
(require 'semantic/find))
38+
39+
(require 'semantic/db-find) ;For type semanticdb-find-result-with-nil.
40+
3541
(eval-when-compile
3642
(require 'silentcomp))
3743

ecb-speedbar.el

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@
7878
;; imenu
7979
(silentcomp-defvar imenu--rescan-item)
8080
(silentcomp-defvar imenu--index-alist)
81-
;; XEmacs
82-
(silentcomp-defun event-button)
83-
(silentcomp-defvar mouse-motion-handler)
8481

8582
(defgroup ecb-speedbar nil
8683
"Settings for the speedbar-integration of ECB."

ecb-upgrade.el

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
;; change it here!
157157
;; TODO: Makefile frobbing broken
158158

159-
(defconst ecb-version "2.50"
159+
(defconst ecb-version "2.51"
160160
"Current ECB version.")
161161

162162
(eval-when-compile
@@ -174,7 +174,11 @@
174174

175175
;; Each NEWS-string should be a one-liner shorter than 70 chars
176176
(defconst ecb-upgrade-news
177-
'(("2.50" . ("ECB now requires full CEDET being installed (at least 2.0)."
177+
'(("2.51" . ("By default ECB now utilizes CEDET distributed as part of Emacs."
178+
"ECB now requires Emacs 29.x (though previous versions may work."
179+
"This release includes numerous fixes related to moving to the latest Emacs"
180+
))
181+
("2.50" . ("ECB now requires full CEDET being installed (at least 2.0)."
178182
"By default ECB now utilizes CEDET distributed as part of Emacs."
179183
"ECB now requires Emacs 24.4 (though previous versions may work."
180184
"This release includes numerous fixes related to moving to the latest Emacs"

0 commit comments

Comments
 (0)