This file is indexed.

/usr/share/gnudatalanguage/astrolib/curs.pro is in gdl-astrolib 2018.02.16+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
pro curs, sel
;+
; NAME:
;       CURS
; PURPOSE:
;       Selects an X windows cursor shape
; CALLING SEQUENCE:
;       curs            ;Interactively select a cursor shape.
;       curs, sel       ;Make the given CURSOR_STANDARD value the cursor
;                        shape.
; OPTIONAL INPUT:
;       sel  -  Either an integer giving the CURSOR_STANDARD value (usually an 
;               even value between 0 and 152) indicating the cursor shape, or 
;               a string from the following menu
;       a -- Up arrow              
;       b -- Left-angled arrow
;       c -- Right-angled arrow
;       d -- Crosshair
;       e -- Finger pointing left 
;       f -- Finger pointing right
;       g -- Narrow crosshair
;       h -- Cycle through all possible standard cursor shapes
; 
;       The full list of available cursor values is given in 
;      /usr/include/X11/cursorfont.h
; OUTPUTS:
;       None.
; RESTRICTIONS:
;       Uses the CURSOR_STANDARD keyword of the DEVICE procedure.  Although 
;       this keyword is available in Windows IDL, the values
;       used by this procedure are specific to the X windows device.
;
; PROCEDURE:
;       If the user supplies a valid cursor shape value, it is set.  Otherwise,
;       an interactive command loop is entered; it will continue until a valid
;       value is given.
; MODIFICATION HISTORY:
;       Converted to VAX 3100 workstations / IDL V2.  M. Greason, STX, May 1990.
;       Avoid bad cursor parameter values  W. Landsman   February, 1991
;       Don't change value of input param        W. Landsman   August 1995
;       Use SIZE(/TNAME) instead of DATATYPE()   W. Landsman  October 2001
;-
On_error,2
if !D.NAME NE 'X' then message, $
     'ERROR - Requires an X-windows display, current device is ' + !D.NAME
;                       Check parameter.
;
isel = indgen(76)*2
nsel = n_elements(isel)
;
IF N_elements( sel ) EQ 0 THEN sel = 0
;
;                       Get the selection interactively, if not already
;                       specified.
;
;                               Initialize.
;
mnu = ["  a -- Up arrow", "  b -- Left-angled arrow", $
       "  c -- Right-angled arrow", "  d -- Crosshair", $
       "  e -- Finger pointing left", "  f -- Finger pointing right", $
       "  g -- Narrow crosshair", $
       "  h -- Cycle through all possible standard cursor shapes", $
       "  i -- Enter cursor shape number directly", "  j -- Quit"]
nmnu = n_elements(mnu)
fmt = "($,'Code ',I3,'      ',I3,' of ',I3,'      ')"
IF size(sel,/TNAME) EQ 'STRING' then begin
             cmd = strupcase(sel)
             csel = -99
ENDIF ELSE csel = sel
;
;                               While loop until a selection is made.
;
WHILE (csel LE 0) OR (csel GT isel[nsel-1]) DO BEGIN
;
;                                       Get command.
;
if csel NE -99 then begin
        print, "Cursor selection:"
        print, "   "
        FOR i = 0, (nmnu-1) DO print, mnu[i]
        print, "   "
        cmd = ''
        read, "Enter the letter of the desired command: ",cmd
endif
;
;                                       Perform the command.
;
MENU:   CASE strupcase(cmd) OF
                 'A' : csel = 22                        ; Up arrow
                 'B' : csel = 132               ; Left arrow
                 'C' : csel = 2                 ; Right arrow
                 'D' : csel = 34                        ; X-hair.
                 'E' : csel = 56                        ; Left hand.
                 'F' : csel = 58                        ; Right hand.
                 'G' : csel = 33                        ; Narrow crosshair.
                 'H' : BEGIN                    ; Cycle thru all cursors.
                          print, "  "
                          print, "  "
                          print, "Cycling through the possible cursors."
                          print, "  "
                          print, "Strike the space bar to select, any other"
                          print, "key to reject." 
                          print, "  "
                          print, "  "
                          scr_curmov, 0, 1
                          cont = 1
                          FOR i = 0, (nsel-1) DO BEGIN
                                IF cont THEN BEGIN
                                        csel = isel[i]
                                        print, format=fmt, csel, i+1, nsel
                                        scr_curmov, 2, 31
                                        device, cursor_standard=csel
                                        IF get_kbrd(1) EQ ' ' THEN cont = 0
                                ENDIF
                          ENDFOR
                       END
                 'I' : BEGIN                    ; Get # from user.
                          print, "  "
                          print, "  "
                          print, format="(A14,$)", "Enter cursor #"
                          read, csel
                          IF (csel LE 0) OR (csel GT isel[nsel-1]) THEN $
                                print, "Invalid entry."
                       END
                 'J' : csel = 34                ; Quit.  Set to X-hair.
                ELSE : csel = 0                 ; Invalid command.
        ENDCASE
ENDWHILE
;
;                       Set the cursor shape
;
device, cursor_standard=csel
;
RETURN
END