You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
(54) |
May
(109) |
Jun
(2) |
Jul
(4) |
Aug
(10) |
Sep
(19) |
Oct
(25) |
Nov
(17) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
(2) |
Apr
(7) |
May
(5) |
Jun
(26) |
Jul
(28) |
Aug
(47) |
Sep
(30) |
Oct
(22) |
Nov
(11) |
Dec
(6) |
2002 |
Jan
(37) |
Feb
(9) |
Mar
(69) |
Apr
(18) |
May
(10) |
Jun
(16) |
Jul
(63) |
Aug
(21) |
Sep
(10) |
Oct
(6) |
Nov
(9) |
Dec
(25) |
2003 |
Jan
(13) |
Feb
(4) |
Mar
(10) |
Apr
(9) |
May
(13) |
Jun
(17) |
Jul
(14) |
Aug
(33) |
Sep
(25) |
Oct
(16) |
Nov
(6) |
Dec
(2) |
2004 |
Jan
(20) |
Feb
(18) |
Mar
(12) |
Apr
(12) |
May
(2) |
Jun
(15) |
Jul
(14) |
Aug
(3) |
Sep
(16) |
Oct
(11) |
Nov
(19) |
Dec
(32) |
2005 |
Jan
(31) |
Feb
(38) |
Mar
(8) |
Apr
(33) |
May
(9) |
Jun
|
Jul
(4) |
Aug
(30) |
Sep
(8) |
Oct
(16) |
Nov
(21) |
Dec
(12) |
2006 |
Jan
(5) |
Feb
(16) |
Mar
(12) |
Apr
(24) |
May
(15) |
Jun
(21) |
Jul
(14) |
Aug
(5) |
Sep
(22) |
Oct
(33) |
Nov
(53) |
Dec
(47) |
2007 |
Jan
(20) |
Feb
(51) |
Mar
(30) |
Apr
(69) |
May
(66) |
Jun
(99) |
Jul
(128) |
Aug
(45) |
Sep
(10) |
Oct
(20) |
Nov
(26) |
Dec
(14) |
2008 |
Jan
(9) |
Feb
(31) |
Mar
(57) |
Apr
(175) |
May
(17) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(4) |
Apr
(2) |
May
|
Jun
|
Jul
(5) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(5) |
Oct
(1) |
Nov
|
Dec
(1) |
2011 |
Jan
(5) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
(8) |
Oct
(3) |
Nov
(14) |
Dec
(9) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(6) |
Aug
(2) |
Sep
(7) |
Oct
(1) |
Nov
|
Dec
(2) |
2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
(4) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Cyker W. <cyk...@gm...> - 2011-01-26 15:40:55
|
Hi all, A little inconvenience when I use cscope to browse code is that, I don't know how to filter out declarations from definitions. Suppose I want to find how struct task_struct is defined, I use cscope f g task_struct, but the declarations will also appear, and I have to look carefully to find out the definition. So I think it'd be better if macros/declarations/definitions for functions/variables can be turned on/off separately. Does cscope support this feature or will this be included in a future release? Thanks! ---- Cyker Way Email:cyk...@gm... <Email%3Ac...@gm...> |
From: Ajay J. <aj...@gm...> - 2011-01-24 08:48:07
|
> Well, that construct is not allowed in a C program, so it's not a terribly > big surprise it throws off cscope. Well .. this construct is common in C codes, when they sometimes may be used along with c++ codes or with c++ libraries. It is not a programmer's choice and he may be writing a pure C code but may have to use this. In that case, is there a workaround? |
From: Ajay J. <aj...@gm...> - 2011-01-19 05:00:33
|
> Could you please try to explain the problem in term of actual cscope > commands, not those of some interface to it? > > And without any information about what that source actually looks like, it's > quite impossible to find out what might have gone wrong. So all I can say > for now is that you should take a thorough look at the first few paragraphs > of the "Notices" section of the cscope man page before you dig any further. Ok. I have narrowed down on the problem. This is the issue: 1 #ifdef __cplusplus 2 extern "C"{ 3 #endif 4 5 uint32_t f1() 6 { 7 a(); 8 b(); 9 c(); 10 } The cscope query under question is (using VIM) -> :cs f d f1 i.e. find all functions called by f1. If we remove the bracket in line # 2, then everything works fine. However, if the bracket exists as in line # 2, then this query yields no results. Any inputs? Ajay. |
From: Ajay J. <aj...@gm...> - 2011-01-18 10:13:31
|
Hi, Cscope for some reason does not give me information about a few functions and gives an error "No matches found for cscope query g". Now that function exists. The way I am using cscope is as follows: cscope -b -C -R -q -i cscope.files where cscope.files are the list of all c&h files in my project. Please help. Regards, Ajay. |
From: Ajay J. <aj...@gm...> - 2010-12-22 10:34:20
|
Hi All, I have spent quite some time in trying to figure out "How to use cscope search" in Vim in a case insensitive manner. For example: In my Vim I do: :cs f g foo. I want to be able to do :cs f g FOO and still get the same results. I have not been able to find any straight option to do it. However, I get some success on using :cs add <database> -C. However, this method does not work out very well for me as this database gets loaded in /etc/vimrc and I cannot edit that (permissions issue). Ofcourse, I can kill it before loading. For example: :cs -kill -1 OR :cs -kill <name>, but there are issues as I do not know the name (I work in different projects) and I can't afford to kill all. Please suggest/recommend a cleaner option. Thanks, Ajay., |
From: Martin K. <li...@ka...> - 2010-10-03 12:40:06
|
Hello cscope team and all, first of all, thanks for writing cscope. I've been using it for a long time, it's become an invaluable tool for me. I regularly have to dig through large source trees where people made up non-standard extensions for include files, like .pri or .use. Unless they're in the top directory of the tree, cscope -Rb ignores these files. I'd like to propose the attached patch (against cscope 15.7a) that adds a command line option -x ext to declare that files with .ext should be parsed by cscope. Of course, -x can be used multiple times to add several extension. Please give me some feedback about this idea and the patch. I'm happy to change things so that the patch can finally be merged. Best regards, Martin |
From: Wengang W. <wen...@or...> - 2010-09-10 04:06:50
|
Yes, it needs more consideration. regards, wenang. On 10-09-08 23:38, Hans-Bernhard Bröker wrote: > On 08.09.2010 15:04, Wengang Wang wrote: > >On 10-09-07 22:39, Hans-Bernhard Bröker wrote: > >>On 06.09.2010 14:26, wen...@or... wrote: > > [...] > > >Find functions calling this function: dlm_lock fs/ocfs2 > > So what you're trying to say here is that you just use a blank > inside the input pattern to split between the actual pattern and the > path? > > Sorry, but that feels like a no-go. For starters, there's no way > that can work with all queries --- some of them can have blanks as > part of the pattern itself! > > >>How is this supposed to be used in line mode? Single-shot mode? > >>Curses mode? > > > >Single-shot mode. > > You misunderstood my question. cscope has several modes of > operation. Please see the man-page about options -L (single-shot > mode) and -l (line mode) to understand the question. > > >the<subtree> doesn't affect future commands. > > How do you achieve that, if, e.g. the user uses cscope's built-in > pattern history mechanism (Ctrl-b, Ctrl-f, Ctrl-y)? |
From: Wengang W. <wen...@or...> - 2010-09-08 13:18:30
|
On 10-09-08 21:04, Wengang Wang wrote: > Hi Hans, > > On 10-09-07 22:39, Hans-Bernhard Bröker wrote: > > On 06.09.2010 14:26, wen...@or... wrote: > > > How is this supposed to be used in line mode? Single-shot mode? > > Curses mode? > > Single-shot mode. > the <subtree> doesn't affect future commands. If I mis-understood above question, could you please explain the "line mode", "Single-shot mode", "Curses mode" to me? I don't see any hint from the man page for the modes. regards, wengang. |
From: Wengang W. <wen...@or...> - 2010-09-08 13:07:11
|
Hi Hans, On 10-09-07 22:39, Hans-Bernhard Bröker wrote: > On 06.09.2010 14:26, wen...@or... wrote: > >#please To/Cc me exlicitly since I'm not in the mailing list. > > Why not just subscribe? Yes. It's a good idea :D > >It looks like cscope shows result for the whole tree(where the database file is made) > >for symbols. > > Of course it does! Searching for stuff in entire, big projects is > the whole purpose of cscope's existence, after all. Yes. > >usage: > >just add the subtree to the end of the cs command, say > >:cs f c dlm_lock fs/ocfs2 > > That's not really cscope usage --- it's usage of the VIM interface. Yes, you are right. For cscope usage, it's same too. orig: ------------------------------------------------ Find functions calling this function: dlm_lock File Function Line 0 lock_dlm.c gdlm_lock 165 error = dlm_lock(ls->ls_dlm, req, &gl->gl_lksb, lkf, gl->gl_strname, 1 stack_user.c user_dlm_lock 708 ret = dlm_lock(conn->cc_lockspace, mode, &lksb->lksb_fsdlm, 2 stackglue.c ocfs2_dlm_lock 252 return active_stack->sp_ops->dlm_lock(conn, mode, lksb, flags, ------------------------------------------------ patched: ------------------------------------------------ Find functions calling this function: dlm_lock fs/ocfs2 File Function Line 0 stack_user.c user_dlm_lock 708 ret = dlm_lock(conn->cc_lockspace, mode, &lksb->lksb_fsdlm, 1 stackglue.c ocfs2_dlm_lock 252 return active_stack->sp_ops->dlm_lock(conn, mode, lksb, flags, ------------------------------------------------ I have never touched emacs, so no example for it. I think it's the same. > How is this supposed to be used in line mode? Single-shot mode? > Curses mode? Single-shot mode. the <subtree> doesn't affect future commands. > > Is it supposed to work on all searches, or just a few of them? If > the latter: which ones? A few of them. Not for findregexp and findstring. But if you like, it's easily to change to apply for all. > > >+extern char *path_filter; > > Ahem. There's no way am I accepting a patch to cscope that puts an > 'extern' declaration into a *.c file. Yes, I should move it to global.h. The next drop of the patch will be posted when you have no more questions.. regards, wengang. |
From: Weiguang S. <wg...@gm...> - 2010-09-03 20:12:31
|
Never mind. I can still do :tags ;-) On Fri, Sep 3, 2010 at 1:03 PM, Weiguang Shi <wg...@gm...> wrote: > I was wondering if there is a command that can show me the places in > chronological order that I visited while navigating through a large code base. > > In ctags with vim, I can do :tags, which will show the tag stack (history). > > Thanks. > Wei > |
From: Weiguang S. <wg...@gm...> - 2010-09-03 20:03:28
|
I was wondering if there is a command that can show me the places in chronological order that I visited while navigating through a large code base. In ctags with vim, I can do :tags, which will show the tag stack (history). Thanks. Wei |
From: Stephane B. <sb...@gm...> - 2010-08-12 21:17:37
|
Thanks! Right! Hmmm. Well, it's natural to use find's -L option when making the cscope.files, since compilers honor symlinks. Then again, maybe I use cscope in strange ways; I want everything the compiler could possibly get its dirty hands on, and I even throw in a libc tree, makefiles, scripts, and the kitchen sink in there (yeah for the fuzzy parser). So maybe all I needed was: $ cscope -b cscope: file foo.c is a symlink, ignoring it. 2010/8/12 Hans-Bernhard Bröker <HBB...@t-...>: > On 12.08.2010 01:49, Stephane Belmon wrote: >> >> Well, not like one would expect (maybe that's an understood behavior?) > > It's intentional behaviour. And it's been like that since 2001, i.e. for > almost the entire history of the public version of cscope. > > There are two problem caused by allowing symbolic links to be counted as > source files. The reason originally given when the change to lstat() was > made back then was that symbolic links have a potential of causing problems > by infinite recursion. > > The other is a slightly more practical one: there's arguably no point adding > a symbolic link to the database anyway. You should add the actual source > file instead. Among other things, that avoids duplicate entries in the > database, which would make searches harder to work with. > > It's also somewhat unclear what's supposed to happen if, whether directly > from cscope ('change this text string') or indirectly via the editor > (Ctrl-E, edit all lines), a file is changed. Editing a symlink might edit > the link target file, or it might be expected to copy the file and edit the > copy instead. > > It's also unclear what to do about the timestamp of a symlink (important for > the test whether to re-scan a file or just keep the scan results on database > updates). > -- Stephane Belmon <sb...@gm...> |
From: Stephane B. <sb...@gm...> - 2010-08-11 23:49:42
|
Well, not like one would expect (maybe that's an understood behavior?) $ mkdir dir $ echo "hello" > dir/foo.c $ ln -s dir/foo.c foo.c $ ls -l foo.c lrwxrwxrwx 1 sbelmon sbelmon 9 Aug 11 16:25 foo.c -> dir/foo.c $ wc foo.c 1 1 6 foo.c wc thinks it's there indeed. But cscope doesn't, so it doesn't like some cscope.files that make complete sense. $ find . -name "*.c" | tee cscope.files ./dir/foo.c ./foo.c $ cscope -b cscope: cannot find file foo.c Huh? Easy enough: accessible_file() uses lstat(). Maybe there's some deep reason, but it's not clear to me: The next thing we do is check that it's a plain file (not a directory, not a socket, etc.) -- so if stat() says "it's REG (after chasing the symlinks)", we know we'll be able to fopen() it... --- src/dir.c~ 2009-04-10 07:37:36.000000000 -0700 +++ src/dir.c 2010-08-11 16:29:53.000000000 -0700 @@ -651,7 +651,7 @@ if (access(compath(file), READ) == 0) { struct stat stats; - if (lstat(file, &stats) == 0 + if (stat(file, &stats) == 0 && S_ISREG(stats.st_mode)) { return YES; } Well, of course, we're assuming the tree stays put under us (one would want to just fopen() and see what happens), but that's another story. The CVS tip seems to have the same problem. -- Stephane Belmon <sb...@gm...> |
From: robert s. <rob...@gm...> - 2010-04-25 08:25:16
|
>> Problem 2: >> I use the following command to find the definition of >> smp_call_function_many. >> : cs f g smp_call_function_many >> But only the following definition can be found. >> #define smp_call_function_many(mask, func, info, wait) \ >> (up_smp_call_function(func, info)) >> In fact, it's also defined in the same kernel/smp.c file. > > And how is that a problem? : cs f g smp_call_function_many is used to Find the global definition of smp_call_function_many. As it's also contain the func pointer, it can't be found too. void smp_call_function_many(const struct cpumask *mask, void (*func)(void *), void *info, bool wait) Regards, robert |
From: robert s. <rob...@gm...> - 2010-04-25 08:12:27
|
Hi, hans, thank you for your reply. > If you look in the cscope manual page, you'll find a note stating explicitly > that cscope won't recognize definitions of functions with function pointer > arguments. The extra parentheses throw off cscope's parser. OK, I see. >> Problem 1: >> In the vi windows, input the following command: >> : cs f c smp_call_function_many > > I have no idea what cscope command that corresponds to. Please try to > report problems in term of cscope commands, not those of some interface to > cscope. In vi, it's used to Find functions calling this function. So I just want to get all the functions that call smp_call_function_many function. |
From: robert s. <rob...@gm...> - 2010-04-24 14:53:16
|
Hello, everyone. I used cscope and found some problems. Environment: vi 7.1 cscope : the latest one: 15.7a. Linux kernel: http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.33.y.git;a=summary Process: Host> git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.33.y.git Host> git describe v2.6.33.2 Host> cd linux-2.6.33.y Host> /usr/local/bin/cscope -bRkq Host> vi kernel/smp.c In the following function: int smp_call_function(void (*func)(void *), void *info, int wait) { preempt_disable(); smp_call_function_many(cpu_online_mask, func, info, wait); preempt_enable(); return 0; } Problem 1: In the vi windows, input the following command: : cs f c smp_call_function_many But it display that "no matches found for cscope query c for smp_call_function_many". But the next time I input the command, some results can be found. And the problem is only reproduced with -q option. Problem 2: I use the following command to find the definition of smp_call_function_many. : cs f g smp_call_function_many But only the following definition can be found. #define smp_call_function_many(mask, func, info, wait) \ (up_smp_call_function(func, info)) In fact, it's also defined in the same kernel/smp.c file. Problem 3: : cs f c smp_call_function_many although smp_call_function calls smp_call_function_many, it can't be found. Is there some workaround to solve the problem ? Thank you for your help. |
From: Steven W. <nar...@gm...> - 2009-09-19 20:23:02
|
Hi, I have a c project in which many functions can not be located using 'global definition' search of cscope. Here I made a sample from the project, please check out the attached file. In the project, you can find symbols for 'Bat_Messages_serverEvaluate', but you cannot find global definition for the same symbol. And, if you remove the function body 'void xxx(void)' in the Bat_Surv.c file, the global definition of 'Bat_Message_serverEvaluate' can be located with success. I know the source files in the sample is a little strange, but it is true code from real project, where code schema is generated from a CASE tool. Please sort me out from this strange problem. Thanks in advance! -- Life is the only flaw in an otherwise perfect nonexistence -- Schopenhauer narke public key at http://subkeys.pgp.net:11371 (nar...@gm...) |
From: Cesar R. <ces...@gm...> - 2009-08-18 23:44:11
|
csc...@li... wrote: > Date: Mon, 17 Aug 2009 09:38:55 -0400 > From: Elad Lahav <e2...@gm...> > Subject: [Cscope-devel] min-cscope > To: csc...@li... > > A few months ago I started a new job and was forced, against my > wishes, to use Windows. One of the first things I tried to do is > compile Cscope on my workstation. It has turned out to be quite a > challenge to create a native Windows build of Cscope (I am unable to > use Cygwin in my work environment). I decided to put the effort into > facilitating such builds. The result is a forked version of Cscope, > called min-cscope (for minimal and MinGW), which I believe may be of > interest even to people who are working on "proper" operating > systems... > ... > I have only tested min-cscope on Linux and Windows. When I have the > time, I will also try it on FreeBSD and Solaris. I see no point in > maintaining support for older Unix variants (it saddens me to say so, > but it's reality). > > The code is available for download from SourceForge: > https://sourceforge.net/projects/kscope/files/min-cscope/min-cscope-16.1.0.tar.gz/download > > Comments are welcome. > > --Elad I've tried to compile min-cscope on Windows XP with MinGW 3.15.2 and by compiling I got the following: -------------------- Scanning dependencies of target sort [ 2%] Building C object sort/CMakeFiles/sort.dir/file.c.obj [ 5%] Building C object sort/CMakeFiles/sort.dir/page.c.obj [ 8%] Building C object sort/CMakeFiles/sort.dir/cache.c.obj [ 11%] Building C object sort/CMakeFiles/sort.dir/extsort.c.obj [ 14%] Building C object sort/CMakeFiles/sort.dir/os_win.c.obj [31mLinking C static library libsort.a [ 14%] Built target sort [ 17%] Generating egrep.c conflictos: 2 desplazamiento(s)/reducción(ones) [ 20%] Generating fscanner.c Scanning dependencies of target min-cscope [ 23%] Building C object src/CMakeFiles/min-cscope.dir/alloc.c.obj [ 26%] Building C object src/CMakeFiles/min-cscope.dir/basename.c.obj [ 29%] Building C object src/CMakeFiles/min-cscope.dir/build.c.obj [ 32%] Building C object src/CMakeFiles/min-cscope.dir/compath.c.obj [ 35%] Building C object src/CMakeFiles/min-cscope.dir/crossref.c.obj [ 38%] Building C object src/CMakeFiles/min-cscope.dir/dir.c.obj [ 41%] Building C object src/CMakeFiles/min-cscope.dir/display.c.obj [ 44%] Building C object src/CMakeFiles/min-cscope.dir/exec.c.obj [ 47%] Building C object src/CMakeFiles/min-cscope.dir/find.c.obj [ 50%] Building C object src/CMakeFiles/min-cscope.dir/history.c.obj [ 52%] Building C object src/CMakeFiles/min-cscope.dir/input.c.obj [ 55%] Building C object src/CMakeFiles/min-cscope.dir/invlib.c.obj [ 58%] Building C object src/CMakeFiles/min-cscope.dir/logdir.c.obj [ 61%] Building C object src/CMakeFiles/min-cscope.dir/lookup.c.obj [ 64%] Building C object src/CMakeFiles/min-cscope.dir/main.c.obj c:/msys/1.0/home/Romer/min-cscope/src/main.c:136: error: syntax error before "siginfo_t" c:/msys/1.0/home/Romer/min-cscope/src/main.c: In function `sigwinch_handler': c:/msys/1.0/home/Romer/min-cscope/src/main.c:138: error: `sig' undeclared (first use in this function) c:/msys/1.0/home/Romer/min-cscope/src/main.c:138: error: (Each undeclared identifier is reported only once c:/msys/1.0/home/Romer/min-cscope/src/main.c:138: error: for each function it appears in.) c:/msys/1.0/home/Romer/min-cscope/src/main.c:139: error: `info' undeclared (first use in this function) c:/msys/1.0/home/Romer/min-cscope/src/main.c:140: error: `unused' undeclared (first use in this function) c:/msys/1.0/home/Romer/min-cscope/src/main.c: In function `main': c:/msys/1.0/home/Romer/min-cscope/src/main.c:159: error: storage size of 'winch_action' isn't known c:/msys/1.0/home/Romer/min-cscope/src/main.c:456: error: `SA_SIGINFO' undeclared (first use in this function) c:/msys/1.0/home/Romer/min-cscope/src/main.c:457: error: `SIGWINCH' undeclared (first use in this function) make[2]: *** [src/CMakeFiles/min-cscope.dir/main.c.obj] Error 1 make[1]: *** [src/CMakeFiles/min-cscope.dir/all] Error 2 make: *** [all] Error 2 -------------------- Many thanks in advance. Regards, Cesar |
From: Elad L. <e2...@gm...> - 2009-08-17 14:03:36
|
A few months ago I started a new job and was forced, against my wishes, to use Windows. One of the first things I tried to do is compile Cscope on my workstation. It has turned out to be quite a challenge to create a native Windows build of Cscope (I am unable to use Cygwin in my work environment). I decided to put the effort into facilitating such builds. The result is a forked version of Cscope, called min-cscope (for minimal and MinGW), which I believe may be of interest even to people who are working on "proper" operating systems... The most notable changes from the mainline Cscope code are as follows: 1. CMake-based build system (die, autotools, die!). 2. The curses-based interface is optional (many people, including myself, are using Cscope as a backend process only, and dropping curses makes compilation on Windows considerably easier). Curses support is added only if CMake determines that the appropriate header and library exist. 3. Built-in sorting for the inverted index (replacing the piped invocation of a Unix-like sort application). The implementation is multi-platform, efficient (using considerably less memory than GNU sort, with about the same runtime) and provides progress information. 4. Uses a binary search in invmake() to locate the matching file index for the given offset. This dramatically cuts down on the time to build the inverted index (and can be easily applied to the current Cscope code). On my Linux machine, building the cross-reference database and the inverted index for the Linux kernel takes 41 seconds with Cscope, and 23 with min-cscope (both with a warm file cache) It is important to note that the database format is exactly the same as that of Cscope - only the build process has been affected. Thus, Cscope can be invoked on a database created by min-cscope and vice-versa. I have only tested min-cscope on Linux and Windows. When I have the time, I will also try it on FreeBSD and Solaris. I see no point in maintaining support for older Unix variants (it saddens me to say so, but it's reality). The code is available for download from SourceForge: https://sourceforge.net/projects/kscope/files/min-cscope/min-cscope-16.1.0.tar.gz/download Comments are welcome. --Elad |
From: Edward P. <ho...@gm...> - 2009-08-02 15:52:07
|
> cscope is a tool for a very specific purpose, and a good part of its power > comes from limiting itself to that. The majority of cscope's features would > make no sense whatsoever for a general-purpose search engine. When have you > last wanted to find functions called by function <name> in an accounting > report? No.. I'm not thinking that - of course cscope should retain the ability to find function names, class names, etc and that it should retain that ability easily.. What gave you the idea that I wanted to have cscope give that up? Or that supporting generic search would do this? What I'm suggesting is that you support generic search by a separate tag (call it 'text'), and that you maybe limit the search to text files (and stop short at doing stuff like indexing gzip files, etc.) Something like opengrok - http://www.opensolaris.org/os/project/opengrok/%3Bjsessionid=C8E71D0E37FC0E3C4E95AF44F772B2EF - which is great but unfortunately has very little in the way of editor support (vim, emacs, etc), and seems to be very oriented towards the browser. But if necessary, I probably could hack through this to make it do what I want. In any case, look at: http://www.gnu.org/software/idutils/manual/idutils.html#Past-and-Future It says - very explicitly - that they want a cscope like interface, and an 'optional coupling with grep'. I'd say that cscope should have the same goals, and the projects should work together to do this (to avoid duplication of effort). And that I am not alone in my desire to see the three tools work well together. > This begins to feel like you might be suffering from a bout of "new hammer > syndrome" (where as soon as you leave the store, having bought a new hammer, > suddenly everything in the world looks like nails). Search is search is search. I'd counter with your hammer analogy that my wanting fulltext search in cscope for comments or log files is more akin to me going to the hardware store, finding a nice set of allen wrenches, and finding when I get home that they support US measurments but not metric. Ed |
From: Edward P. <ho...@gm...> - 2009-07-31 22:55:26
|
> Depends on what exactly you expect from such a thing. No, cscope doesn't > try to imitate grep. That's what grep itself is for. There is a > command-line, single-shot mode though. See option -L in the manpage. grep works horribly for large projects - especially for NFS - but is in turn very useful for searching files. cscope has (or could have with the right algorithms) a much faster way of looking through a large project (plaintext or not), but in turn requires extra space. If you have this extra space, don't you see how this could be a exceedingly useful thing to have? Think 'locate' except for text. > >> 4. How well does it do on large, arbitrary text (as opposed to code) > > It doesn't. This is cscope, not Google. think it through a bit. Even open source code search engines have plaintext search; say I don't know a given function (or class, etc) but I know a comment that I used. Any complete code searching engine should have the ability to search very quickly for arbitrary text. And if it has the ability to look for arbitrary text in code, it could easily be made into a generic indexing engine, so you get a fully new functional area for free. But anyways, since it sounds like cscope has decided on its boundaries, let me rephrase the question - is anyone aware of an open source indexer that can do this? It should be able to index arbitrary text for sub-linear pattern matching. Ed |
From: Edward P. <ho...@gm...> - 2009-07-31 05:42:48
|
btw... I'm getting the following errors when I try to index: cscope: cannot create inverted index; ignoring -q option cscope: removed files ncscope.in.out and ncscope.po.out what would cause this? I appreciate the error, but it gives very little feedback on exactly why this given error is occurring. Thanks, ed |
From: Edward P. <ho...@gm...> - 2009-07-31 03:55:54
|
hey all, I was looking for a couple of things wrt cscope: 1. Is there a grep interface for cscope? I'd like the same interface as grep, ie: cscope -l <pattern> gives a list of files matching a certain pattern, cscope -C 3 gives 3 lines of context, etc. 2. How big a database does it generate (correlated to size of input)? 3. Is there an 'update' mode? ie: if I give it a list of files to index, and then have it index a second time, can you configure it only to take the deltas for the new and changed files? 4. How well does it do on large, arbitrary text (as opposed to code) Can you configure it for to handle both? Thanks much for any info, I'd love to use it, but doing so would be dependent on whether or not the above features are supported... Thanks much, Ed |
From: Venkam, J. <jan...@an...> - 2009-07-10 16:14:47
|
HI, I installed cscope package cscope-15.7a.tar.bz2 on my windows Xp machine, but when I gave following command $ctags -uR ctags: no input files specified so I gave the following command $ctags * ctags : skipping ToolManager: It is not a regular file where ToolManager is a directory and tags file is empty. Please let me know whats the problem ? is the package installed correct ? Thanks. Please refer to www.anite.com for individual Anite company details. The contents of this e-mail and any attachments are for the intended recipient only. If you are not the intended recipient, you are not authorised to and must not disclose, copy, distribute, or retain this message or any part of it. It may contain information which is confidential and/or covered by legal professional or other privilege. Contracts cannot be concluded with us nor legal service effected by email. Anite plc Registered in England No.1798114 Registered Office: 353 Buckingham Avenue Slough Berks SL1 4PF United Kingdom VAT Registration No. GB 787 418187 Scanned for viruses by BlackSpider MailControl. |
From: n179911 <n1...@gm...> - 2009-07-02 16:05:33
|
Hi, I have downloaded cscope 15.6 on MacOSX. But when i try launching it in MacOS Terminal or iterm, the UP/DOWN key does not work. I can't move it from 1 query to another in the cscope interface. Only CTRL-P CTRL-N works. Can you please tell me how can I fix my problem? Thank you. |