This file is indexed.

/usr/share/slrn/slang/tin-group.sl is in slrn 1.0.0~pre18-1.2.

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
% The macros here provide some tin-like keybindings for GROUP mode.

% The following macros depend on the util.sl macros being loaded.
% In your .slrnrc file, add the following lines:
%    interpret "util.sl"
%    interpret "tin-group.sl"
%    interpret "tin-art.sl"


!if (is_defined ("group_bob")) () = evalfile ("util.sl");


% The easy bindings
definekey ("toggle_list_all", "y", "group");		% yank in/out
definekey ("toggle_hidden", "r", "group");		% toggle all/unread
definekey ("post", "w", "group");
definekey ("quit","Q","group");
definekey ("group_search_forward","/","group");   
definekey ("help","h","group");   


% TAB key in group mode.  Apparantly this moves from one unread group to
% another and then cycles back to the top.
define tin_group_next_unread ()
{
   USER_BLOCK0
     {
	if (group_unread ())
	  {
	     if (-1 != select_group ())
	       return;
	  }
     }
   
   X_USER_BLOCK0 ();  % enter the current group if it has unread articles
   while (group_down_n (1)) X_USER_BLOCK0 ();
   
   group_bob ();
   do X_USER_BLOCK0 (); while (group_down_n (1));
   
   error ("No more unread groups.");
}
definekey ("tin_group_next_unread", "\t", "group");


% Using UP/DOWN arrow keys in group mode causes a wrap at 
% ends of the buffer.
define tin_group_up ()
{
   !if (group_up_n (1))
     group_eob ();
}
definekey ("tin_group_up", "k", "group");

define tin_group_down ()
{
   !if (group_down_n (1))
     group_bob ();
}
definekey ("tin_group_down", "j", "group");

#ifdef UNIX VMS
definekey ("tin_group_up", "\e[A", "group");
definekey ("tin_group_up", "\eOA", "group");
definekey ("tin_group_up", "^(ku)", "group");
definekey ("tin_group_down", "\e[B", "group");
definekey ("tin_group_down", "\eOB", "group");
definekey ("tin_group_down", "^(kd)", "group");

% Left/right arrow keys
definekey ("quit", "\e[D", "group");
definekey ("quit", "\eOD", "group");
definekey ("quit", "^(kl)", "group");
definekey ("select_group", "\e[C", "group");
definekey ("select_group", "\eOC", "group");
definekey ("select_group", "^(kr)", "group");

#else  
% OS/2
definekey ("tin_group_up", "\xE0H", "group");
definekey ("tin_group_down", "\xE0P", "group");
definekey ("quit", "\xE0K", "group");
definekey ("select_group", "\xE0M", "group");
#endif


% using the space to pagedown at the end of the list should wrap to the top
define tin_group_pagedown ()
{
   call ("page_down");
}
definekey ("tin_group_pagedown"," ","group");


% using the b to pageup at the top of the list should wrap to the bottom
define tin_group_pageup ()
{
   call ("page_up");
}
definekey ("tin_group_pageup","b","group");

% vim:set noexpandtab tw=0 ts=8 softtabstop=3: