This file is indexed.

/usr/share/fish/functions/pushd.fish is in fish-common 2.4.0-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
function pushd --description 'Push directory to stack'
	if count $argv >/dev/null
		# check for --help
		switch $argv[1]
			case -h --h --he --hel --help
				__fish_print_help pushd
				return 0
		end

		# emulate bash by checking if argument of form +n or -n
		set -l rot_r
		set -l rot_l
		if string match -qr '^-[0-9]+$' -- $argv[1]
			set rot_r (string sub -s 2 -- $argv[1])
		else if string match -qr '^\+[0-9]+$' -- $argv[1]
			set rot_l (string sub -s 2 -- $argv[1])
		end
	end

	# emulate bash: an empty pushd should switch the top of dirs
	if test (count $argv) -eq 0
		# check that the stack isn't empty
		if test (count $dirstack) -eq 0
			echo "pushd: no other directory"
			return 1
		end

		# get the top two values of the dirs stack ... the first is pwd
		set -l top_dir (command pwd)
		set -l next_dir $dirstack[1]

		# alter the top of dirstack and move to directory
		set -g dirstack[1] $top_dir
		cd $next_dir
		return
	end

	# emulate bash: check for rotations
	if test -n "$rot_l" -o -n "$rot_r"
		# grab the current stack
		set -l stack (command pwd) $dirstack

		# translate a right rotation to a left rotation
		if test -n "$rot_r"
			# check the rotation in range
			if test $rot_r -ge (count $stack)
				echo "pushd: -$rot_r: directory stack index out of range"
				return 1
			end

			set rot_l (math (count $stack) - 1 - $rot_r)
		end

		# check the rotation in range
		if test $rot_l -ge (count $stack)
			echo "pushd: +$rot_l: directory stack index out of range"
			return 1
		else
			# rotate stack unless rot_l is 0
			if test $rot_l -gt 0
				set stack $stack[(math $rot_l + 1)..(count $stack)] $stack[1..$rot_l]
			end

			# now reconstruct dirstack and change directory
			set -g dirstack $stack[2..(count $stack)]
			cd $stack[1]
		end

		# print the new stack
		dirs
		return
	end

	# argv[1] is a directory
	set -g dirstack (command pwd) $dirstack
	cd $argv[1]
end