This file is indexed.

/usr/share/scsh-0.6/scsh/weaktables.scm is in scsh-common-0.6 0.6.7-8.

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
;;; Tail-weak tables. This is for internal use only, for real life
;;; applications we have to provide a more general interface with the
;;; 3 combinations of head and tail weakness.

(define make-weak-table make-table)

(define (weak-table-set! table number set-me)
  (table-set! table number (if set-me (make-weak-pointer set-me) #f)))

(define (weak-table-ref table number)
  (let ((ref (table-ref table number)))
    (if (weak-pointer? ref)
	(let ((val (weak-pointer-ref ref)))
	  (if val
	      val
	      (begin (table-set! table number #f)
		     #f)))
	  ref)))

(define (weak-table-walk proc table)
  (table-walk
   (lambda (number value)
     (proc number (if (weak-pointer? value) (weak-pointer-ref value) value)))
   table))

(define (strengthen-weak-table-ref table number)
  (table-set! table number (weak-table-ref table number)))

(define (weaken-weak-table-ref table number)
  (weak-table-set! table number (weak-table-ref table number)))