File: tracking.rst

package info (click to toggle)
universal-ctags 0%2Bgit20181215-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 17,444 kB
  • sloc: ansic: 84,242; vhdl: 5,924; sh: 5,830; perl: 1,743; cpp: 1,599; cs: 1,193; python: 812; sql: 572; f90: 534; php: 479; yacc: 459; fortran: 341; makefile: 325; asm: 311; objc: 284; ruby: 261; xml: 245; java: 157; tcl: 133; cobol: 122; lisp: 113; erlang: 61; ada: 55; ml: 49; awk: 43
file content (439 lines) | stat: -rw-r--r-- 10,622 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
:orphan:

Tracking other projects
----------------------------------------------------------------------

This is working note for tracking activities other projects,
especially activity at exuberant-ctags.

I(Masatake YAMATO) consider tracking activities as the first class
fruits of this project.


exuberant-ctags
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

subversion
......................................................................

* status

  Revisions up to <r815> are merged except:

	NOTHING HERE NOW

  (Mon Sep 22 12:41:32 2014 by yamato)

* howto

  ::

      <svn>
      => <git: local universal-ctags repo>
	 => <git: local universal-ctags repo>


  1. prepare your own universal-ctags repo: a local git repo cloned from github.
     You may know how to do it :)

     ::

	$ git clone https://github.com/universal-ctags/ctags.git

  2. prepare exuberant-ctags SVN repo: a local git repo clone from exuberant-ctags svn tree.

    The original clone is already part of exuberant tree.

    To initialize your git repository with the required subversion information do ::

	$ git svn init https://svn.code.sf.net/p/ctags/code/trunk
	$ git update-ref refs/remotes/git-svn refs/remotes/origin/sourceforge

    and then ::

	$ git svn fetch
	$ git svn rebase

    to get the latest changes and reflect it to the local copy.

  3. merge

    TODO

  4. cherry-pick

     4.1. Make a branch at local universal-ctags repo and switch to it.

     4.2. Do cherry-pick like::

	 	$ git cherry-pick -s -x c81a8ce

     You can find commit id on the another terminal
     <git: local universal-ctags repo>::

	 	$ git log

     or ::

	 	$ git log --oneline

     If conflicts are occurred in cherry-picking, you can
     abort/reset cherry-picking with::

	 $ git reset --hard

     <git: local universal-ctags repo>
      at the branch for picking.

bugs
......................................................................
   <367>  C++11 override makes a C++ member function declaration ignored

	 * fixed in::

	        d4fcbdd
		#413
		#405

   <366>  --options=.ctags doesn't work under Windows

	 * fixed in::

	        15cedc6c94e95110cc319b5cdad7807caf3db1f4

   <365>  Selecting Python kinds is broken

	* fixed in::

	         4a95e4a55f67230fc4eee91ffb31c18c422df6d3

	* discussed at #324.

   <364>  Ruby method on self is missing the trailing ? in the generated tag name

	 * fixed in::

	        d9ba5df9f4d54ddaa511bd5440a1a3decaa2dc28

   <363> Invalid C input file causes invalid read / heap overflow

	* it is not reproduced.

	* the test case is imported as parser-c.r/c-heapoverflow-sh-bug-363.d::

   		$ make units UNITS=c-heapoverflow-sh-bug-363 VG=1

   <361> Invalid C input file causes invalid read / heap overflow

	* it is not reproduced.

   <360> Fails to parse annotation's fields with default value

	* fixed in::

		682a7f3b180c27c1196f8a1ae662d6e8ad142939

   <358>  Vim parser: Segmentation fault when reading empty vim file

	 * directly contributed by the original author of bug report and patch::

	   	e0f854f0100e7a3cb8b959a23d6036e43f6b6c85

	 * it is fixed in sf, too::

	   	5d774f6022a1af71fa5866994699aafce0253085

   <356> [python] mistakes module level attribute for class level attribute in module level if

	 * fixed in::

	        ab91e6e1ae84b80870a1e8712fc7f3133e4b5542

   <355> Error when parsing empty file (OCaml)

	 * fixed in::

	   	02ec2066b5be6b129eba49685bd0b17fef4acfa

   <341> Lua: "function f ()" whitespace

	 * fixed in::

	   	8590bbef5fcf70f6747d509808c29bf84342cd0d

   <341> Introducing ctags.conf.d

	 * merged the improved version::

	   	216880c5287e0421d9c49898d983144db61c83aa

   <271> regex callback is broken; <320> [PATCH] fix regex callback match count

	 * merged patch (with updated bug number)::

		a12b3a24b62d6535a968e076675f68bac9ad32ba

   <177> Lua: "function" results in function tag (includes patch)

	 * fixed in::

	   	5606f3f711afeac74587a249650a5f7b416f19be

`patches <https://sourceforge.net/p/ctags/patches/%d>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Tracking the tickets in patch tracker is quite fruitful.
Patches are always there. So it is easy to evaluate the value:)

   [(<]TICKET#[>)] TITLE

	* STATUS

	  + MORE STATUS

   <TICKET#>

   	means the ticket is closed from the view of exuberant tree
   	developers.  We don't have to take time for this ticket.

   (TICKET#)

   	means the ticket is still opened from the view of exuberant
	tree developers.  We don't have to take time for this ticket.

----

   <85> Add --encoding option to make utf-8 encoded tags file

	* contributed by the original author::

	      b3f670c7c4a3c3570b8d2d82756735586aafc0cb

   <84> C++11 new using semantics

	* solved by another implementation::

	      c93e3bfa05b70d7fbc2539454c957eb2169e16b3
	      502355489b1ba748b1a235641bbd512ba6da315e

   <83> New full non-regex PHP parser

	* contributed by the original author

   <82> Support for comments in .ctags files

	* contributed by the original author::

	  	cab4735e4f99ce23c52b78dc879bc06af66796fd

   <81> ocaml parser segfaults on invalid files

	* the bug is not reproduced

   <80> Add support for falcon pl

	* contributed by the original author

   <74> protobuf parser

	* Merged after getting approval from the original author

   <67> Objective C language parser

	* This is the implementation we have in universal-ctags tree.

   <65> absoluteFilename uses strcpy on overlapping strings

	* Fixed in universal-ctags tree, however the ticket is still open::

   		d2bdf505abb7569deae2b50305ea1edce6208557

   <64> Fix strcpy() misuse

	* Fixed in universal-ctags tree, however the ticket is still open::

		d2bdf505abb7569deae2b50305ea1edce6208557

   <55> TTCN-3 support

	* contributed by the original author

   <51> Ada support

	* Ada support is now available in universal-ctags tree::

		4b6b4a72f3d2d4ef969d7c650de1829d79f0ea7c

   <38> Ada support

	* Ada support is now available in universal-ctags tree::

		4b6b4a72f3d2d4ef969d7c650de1829d79f0ea7c

   <33> Add basic ObjC support

	* This one is written in regexp.
	* we have better objc parser.

   \(1\) bibtex parser

	* Reject because...

	  + the owner of the ticket is anonymous.

	  + the name of patch author is not written explicitly at
	    the header of patch.

	* Alternative

	  https://gist.github.com/ptrv/4576213


devel mailing list (ctags-devel@sourceforge)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    <[Ctags] Shebang with python3 instead of python>
    From: Martin Ueding <dev@ma...> - 2013-01-26 18:36:32

	Added python, python2 and python3 as extensions of
	python parser::

		bb81485205c67617f1b34f61341e60b9e8030502


    <[Ctags-devel] Lack of fnmatch(3) in Windows>
    From: Frank Fesevur <ffes@us...> - 2013-08-24 20:25:47

	There is no fnmatch() in the Windows C library. Therefore
	a string comparison is done in fileNameMatched() in
	strlist.c and patterns are not recognized::

		698bf2f3db692946d2358892d228a864014abc4b


    <Re: [Ctags-devel] WindRes parser>
    From: Frank Fesevur <ffes@unns...> - 2013-08-30 21:23:50

	A parser for Windows Resource files.
	http://en.wikipedia.org/wiki/Resource_%28Windows%29

	::

	 	95b4806ba6c006e4b7e72a006700e33c720ab9e7


    ([Ctags-devel] Skip repeat PATH_SEPARATORs in relativeFilename())
    From: Seth Dickson <whefxlr@gm...> - 2013-12-24 04:51:01

	Looks interesting.


Fedora
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some patches are maintained in ctags package of Fedora.
Inventory of patches are
http://pkgs.fedoraproject.org/cgit/ctags.git/tree/ctags.spec

<ctags-5.7-destdir.patch>

	This patch was merged in universal-ctags git tree::

		d4b5972427a46cbdcbfb050a944cf62b300676be

<ctags-5.7-segment-fault.patch>

	This patch was merged in universal-ctags git tree::

		8cc2b482f6c7257c5151893a6d02b8c79851fedd

(ctags-5.8-cssparse.patch)

	Not in universal-ctags tree.

	The reproducer is attached to the following page:
	https://bugzilla.redhat.com/show_bug.cgi?id=852101

	However, universal-ctags doesn't reproduce with it.

	I, Masatake YAMATO, read the patch.  However, I don't
	understand the patch.

<ctags-5.8-css.patch>

	This patch was merged in universal-ctags git tree::

		80c1522a36df3ba52b8b7cd7f5c79d5c30437a63

<ctags-5.8-memmove.patch>

	This patch was merged in exuberant ctags svn tree.
	As the result this patch is in universal-ctags tree::

		d2bdf505abb7569deae2b50305ea1edce6208557

<ctags-5.8-ocaml-crash.patch>

	This patch was merged in exuberant ctags svn tree.
	As the result this patch is in universal-ctags tree::

		ddb29762b37d60a875252dcc401de0b7479527b1

<ctags-5.8-format-security.patch>

	This patch was merged in exuberant ctags svn tree.
	As the result this patch is in universal-ctags tree::

		2f7a78ce21e4156ec3e63c821827cf1d5680ace8

Debian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some patches are maintained in ctags package of Debian.
Inventory of patches are
http://anonscm.debian.org/cgit/users/cjwatson/exuberant-ctags.git/tree/debian/patches/series

<python-disable-imports.patch>

	universal-ctags tags Y in `import X as Y` and Z in `from X import Y as Z`
	as definition tags. They are turned on by default.
	The others are tagged as reference tags. reference tags are recorded only
	when "r" extra tags are enabled. e.g. `--extras=+r`.

<vim-command-loop.patch>

	This patch was merged as an alternative for
	7fb36a2f4690374526e9e7ef4f1e24800b6914ec

	Discussed on https://github.com/fishman/ctags/issues/74

	::

	   	e59325a576e38bc63b91abb05a5a22d2cef25ab7


Other interesting ctags repositories
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are several interesting repo's with ctags around. These are
interesting to integrate in the future.

`VIM-Japan <https://github.com/vim-jp/ctags/>`_
......................................................................

VIM-Japan have some interesting things, especially regarding encoding.

`Anjuta <https://git.gnome.org/browse/anjuta/tree/plugins/symbol-db/anjuta-tags>`_
.......................................................................................

Anjuta is a Gnome IDE. They did not fork Exuberant ctags, but they did
natively include it in Anjuta. They have made several additions to
their version of it including fairly extensive Vala language support.

tagbar
.......................................................................

Wiki

	https://github.com/majutsushi/tagbar/wiki

This is a gold mine of optlibs.