This file is indexed.

/usr/share/racket/collects/planet/terse-info.rkt is in racket-common 6.7-3.

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
#lang racket/base

#|

This file is shared between the original
namespace that drracket first starts with
any other namespaces that it loads,
so it keeps the requirements low (it could
be in the '#%kernel language, but 
drracket already shares mred/mred, so there
seems little point to that).

|#
  
(provide planet-terse-register
         planet-terse-log
         planet-terse-set-key) 

(define terse-log-message-chan (make-channel))
(define terse-log-proc-chan (make-channel))
(define log-key-tc (make-thread-cell (gensym) #t))
  
(define thd
  (thread
   (lambda ()
     (let ([procs (make-weak-hasheq)])
       (let loop ()
         (sync
          (handle-evt
           terse-log-message-chan
           (lambda (msg)
             (let ([registry (list-ref msg 0)]
                   [id (list-ref msg 1)]
                   [str (list-ref msg 2)])
               (for ([eph (in-list (hash-ref procs registry '()))])
                 (let ([proc (ephemeron-value eph)])
                   (when proc
                     (proc id str)))))
             (loop)))
          (handle-evt
           terse-log-proc-chan
           (lambda (rp)
             (let* ([registry (list-ref rp 0)]
                    [proc (list-ref rp 1)])
               (hash-update! procs
                             registry 
                             (lambda (x) (cons (make-ephemeron registry proc) x)) 
                             '())
               (loop))))))))))

(define (planet-terse-log id str)
  (unless (thread-dead? thd)
    (sync (channel-put-evt terse-log-message-chan (list (thread-cell-ref log-key-tc) id str))))
  (void))

(define (planet-terse-register proc)
  (sync (channel-put-evt terse-log-proc-chan (list (thread-cell-ref log-key-tc) proc)))
  (void))

(define (planet-terse-set-key new-key)
  (thread-cell-set! log-key-tc new-key))