File:  [CSRG BSD Unix] / 43BSD / contrib / X / doc / Xlib / block.icn
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:55 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43
BSD 4.3

#
#   Seperate index entries where the first letter of the entry
#	changes.  Produce a ".LB" at the break point.  Provide
#	the macro with the new letter
#	

procedure main()
	local doubleQuote,
	      line,
	      oldFirstChar,
	      firstChar

	doubleQuote := cset("\"")
	oldFirstChar := ""

	# read until end of file
	while line := read() do  {
		line ? {
			tab(upto(doubleQuote)) | write("can't find double q")
			move(1)
			firstChar :=  &subject[&pos] }
	
		# are the first two letters different?
		if firstChar ~== oldFirstChar then {
			write(".LB ", firstChar) }

		oldFirstChar := firstChar
		write(line) }
	end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.