Imported Upstream version 15.8a
[platform/upstream/cscope.git] / src / gmacs.ml
1         ; ===========================================================================
2         ; Copyright (c) 1998-2000, The Santa Cruz Operation 
3         ; All rights reserved.
4  
5         ; Redistribution and use in source and binary forms, with or without
6         ; modification, are permitted provided that the following conditions are met:
7
8         ; *Redistributions of source code must retain the above copyright notice,
9         ; this list of conditions and the following disclaimer.
10
11         ; *Redistributions in binary form must reproduce the above copyright notice,
12         ; this list of conditions and the following disclaimer in the documentation
13         ; and/or other materials provided with the distribution.
14
15         ; *Neither name of The Santa Cruz Operation nor the names of its contributors
16         ; may be used to endorse or promote products derived from this software
17         ; without specific prior written permission. 
18
19         ; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
20         ; IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21         ; THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22         ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
23         ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24         ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25         ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26         ; INTERRUPTION)
27         ; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28         ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29         ; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
30         ; DAMAGE. 
31         ; =========================================================================
32         ; $Id: gmacs.ml,v 1.1 2000/04/27 16:33:47 petr Exp $ 
33
34
35         ; cscope.ml (s.cscope.ml) - 1.4 (2/21/84 14:53:58)
36         ;
37         ; Macro to handle invocation of gmacs by cscope from the
38         ; experimental tools.  Cscope invokes gmacs with two arguments:
39         ;
40         ;       gmacs +line file
41         ;
42         ; This macro gobbles the line number, visits the specified file,
43         ; and moves to the specified line number.
44
45 (progn
46         args
47         pluses
48         (setq pluses 0)
49         (setq args (argc))
50         (if (> args 1)
51                 (progn
52                         (if (= (string-to-char "+") (string-to-char (argv 1)))
53                                 (setq pluses 1)
54                         )
55                         (setq args (- args 1))
56                         (while (> args pluses)
57                                 (visit-file (argv args))
58                                 (setq args (- args 1))
59                         )
60                         (if (= (> (argc) 2) (> pluses 0))
61                                 (goto-line (argv 1))
62                         )
63                 )
64         )
65 )