This is the index to the book and the numbers, of course, reflect the page numbers in the book. How quaint.
$ 180 /etc/termcap 26 Ada 41 add_proc 58 advanced algorithm 102 display 22, 89 after the point 55 again 123 allocation 68, 78 altmode 180 amount of experience 11 Annex 34 ANSI 87 APL 39 Apple 26, 28, 47, 139 approaches to redisplay 96 Argument 108 arguments 112 ASCII 202 asynchronous communications 31 attributes 52, 95 auto-repeat 24 availability 36 Back Space 4 backward from the point 55 Basic 41 basic display 22 redisplay algorithm 100 users 12 Beep 88 before the point 55 between 55 biases 52 binary files 49, 147 binding 109, 115 breaking out of redisplay 95 buffer 54, 56 gap 68, 72 management 65, 72 BUFFERNAMEMAX 152 buffer_chain 56 Buffer_Clear 59 Buffer_Create 59 Buffer_Delete 59 Buffer_End 60 Buffer_Get_Name 59 Buffer_Insert 62 buffer_name 57 Buffer_Read 62 Buffer_Set_Current 59 Buffer_Set_Name 59 Buffer_Set_Next 59 Buffer_Start 60 Buffer_Write 62 button press 18 byte 56 C 39, 150 capitalization 143 Caps Lock 25 card images 47 cards, baseball 13 caret notation 49, 94, 202 categories of users 11 center tabs 93 changing your mind 119 character definition 56 format 31 set 48 chunking 80 Clear_Line 88 Clear_Screen 88 CLEOL 88 CLEOS 88 clipboard 120 command set design 125 shell 146 user-oriented 106 Command_Procedure 107 communications path 31 Compare_Locations 60 compilation 146 compiler 134 completion 115 considerations 36, 83, 90 consistency 126 contents, of line 48, 57 Control 172 control characters 93 constraints physiological 14 redisplay 82 Copy_Region 63 core loop 106 counts 48 Count_To_Location 60 CP/M 47, 49, 73 crash recovery 74, 75 Ctrl_X_Dispatch 108 current_buffer 56 curses 87 cursor, left edge of 55 cur_line 57 custom editor languages 41 customers 11 data structures 56 debugging 146 DEC 47 decimal tabs 93 decomposition 54 defun 173 delay 70 Delayed_Display 108 Delete 4, 63 delete line 22 Delete_Chars 89 Delete_Lines 89 Delete_Region 63 deleting words 138 design 119, 125 dialog box 18 difference files 80 dispatch 107 display 21, 84 display independent procedures 86 Dvorak keyboard 27 dynamic linking 116 echo negotiation 33 editor procedures 84 efficiency 38 of editing 75 of input/output 76 of searching 77 electronic mail 146 Emacs 39 Emacs-type 4, 16, 41, 109, 122, 128, 145, 156, 172 empty lines 48 emulation 146 end of file 49 of buffer 55, 91 error checking 126 handling 110 messages 131 ETX/ACK 35 Evaluate 107 exiting 111 experience amount of 11 type of 13 extended character sets 50 extensibility 37, 128, 147 external errors 111 extra shift keys 26 extra space 67 extremely large files 79 eyes 15 Fatal 155 fclose 155 fgets 155 file formats 47 interface 147 name 57 FILENAMEMAX 152 file_time 57 FinalWord 74 Find_First_In_Backward 64 Find_First_In_Forward 64 Find_First_Not_In_Backward 64 Find_First_Not_In_Forward 64 fixed marks 55 FLAG 151 flow control 32 fonts 52, 95 fopen 155 forest 9 format, character 31 formats 52 Fortran 40 forward from the point 55 fragmentation 68, 78 framer 99 free 155 function keys 25 gap 68, 72 Get_Attr 88 Get_Char 62 Get_Column 65, 88 Get_File_Name 62 Get_Line 2 Get_Modified 62 Get_Num_Chars 62 Get_Num_Lines 62 Get_Point_Col 85 Get_Point_Row 85 Get_Row 88 Get_String 62 Get_Window_Bot 86 Get_Window_Bot_Line 86 Get_Window_Top 86 Get_Window_Top_Line 86 glass TTY 21 GNU-Emacs 147, 173 goals, user 14 grahical input 18, 29 graphics display 23 guidelines 18, 19, 131 handicaps 19 hands 14 hardware 21 hidden second gap 71 horizontal scrolling 91 IBM PC 23, 26, 28, 35 image, card and print 47 implementation languages 36 methods 65, 71 implementations 156 in-band 32, 50 incremental 115 redisplay 82 search 142 input/output 76, 87 insert 6, 54 insert line 22 Insert_A_Character 08 Insert_Char 63 Insert_Lines 89 Insert_String 63, 89 interface 147 internal editor 54 errors 110 internationalization 52 interrupting redisplay 95 isprint 155 Is_A_Match 64 Is_File_Changed 62 is_fixed 57 is_modified 57 Is_Point_After_Mark 60 Is_Point_At_Mark 60 Is_Point_Before_Mark 60 ITS 180 Jabberwocky 149 job control 32 joystick 30 kerning 95 keyboards 23 keyboard procedures 87 key placement 27 keystroke recording 124 Key_Fini 87 Key_Function_Keys 87 Key_Get 87 Key_Init 87 Key_Is_Input 87 kill 119 languages, implementation 36 language 130 lap-top computer 81 large files 79 project upport 38 layout of text 45 LEAP 34 left tabs 93 line boundaries 47 contents 48 wrap 91 linked line 72 Lisp 39, 72, 173 list of lines 44 location 151 Location_To_Count 60 long lines 48 loop 106 Macintosh see Apple macros 123 mail 146 malloc 155 management 65, 72 mark 55, 57 marker bytes 75 record 48 Mark_Create 60 Mark_Delete 60 Mark_Get 60 mark_list 57 Mark_Set 60 Mark_To_Point 60 meaning of text 45 memmove 155 memory 74 memory management 65, 72 memory-mapped display 23, 105 memset 155 messages 130 meta 27, 172, 202 methods 65, 71 mind 15 Mince 73 model editing 43 user's 11 modems 34 modes 56, 58, 114, 117, 129, 134 Mode_Append 63 Mode_Delete 63 Mode_Invoke 63 mode_list 57 modification flag 101 Modula 40 mouse 30 mouse ahead 18 Move_By_Character 107 moving 64, 135 MS/DOS 47, 49 Multics 33, 71 multiple buffers 77 gaps 70 windows 96 n-key rollover 24 name 57 neophyte users 11 NEWLINE 152 newline 47, 55 next_chain_entry 57 next_mark 57 next_mode 58 NL 152 node_name 58 no management 66 non-printing characters 48 non-text files see binary files normal marks 55 novice users 12 NUL 152 NULL 152 numeric arguments 112 num_chars 57 num_lines 57 object models 45 objects 52 one-dimensional array 43, 55 out-of-band 32, 51 output 87 packaging, keyboard 25 padding 32 page breaks 136 paged buffer gap 72, 73 model 44 virtual memory 78 paging 136 paragraphs 140 parsing 51 partial lines 48 Pascal 40 pen 31 permissiveness 126 philosophy 109, 125 physiological constraints 14 piano 129 PL/1 40 placement, key 27 point 55, 57 Point_Get 60 Point_Get_Line 60 Point_Move 60 Point_Set 60 Point_To_Mark 60 positional arguments 115 power users 12 prefix arguments 112 print images 47 printf 155 private 151 procedures 58-65, 84-89 programmer-level users 13 progress 127 prompts 113, 130 proportionally spaced text 94 Put_Char 88 Put_String 88 quality 36 quote 113 QWERTY 27 rat 30 raw 87 read 54 real text 45 rebinding 115 Recenter 85 record markers 48 recording 124 recovery 74, 75 Redisplay 85 redisplay 51, 82 algorithms 99 Redo 123 redo 122 Refresh_Screen 85 region 55, 61, 115 regular expressions 143 "religion" 13 repeat 24, 112 replace 6 Replace_Char 63 Replace_String 63 responsiveness 125 right tabs 93 rollover 24 ruler lines 92 S-exp 173 screen definition 84 procedures 87 Screen_Attributes 87 Screen_Columns 87 Screen_Fini 87 Screen_Init 87 Screen_Rows 87 Screen_Timings 89 scripts 95 scroll window 22 scrolling 136 Scroll_Lines 89 searching 77, 141 Search_Backward 64 Search_Forward 64 second gap 71 level dispatch 108 system effect 14 selection arguments 115 sentences 140 serial chunking 80 communications 31 Set_Attr 88 Set_Column 65 Set_Column 88 Set_File_Name 62 Set_Modified 62 Set_Pref_Pct 85 Set_Row 88 shell 146 shift keys 26 Shift Lock 25 short lines 48 simplicity 127 Sine 41 SNOBOL 42 SP 152 special function keys 25 speed 31, 83 spinal cord 16 standard system text files 47 start of the buffer 55 state save 56, 58 status 151 status line 90 storage 74 strcpy 155 string arguments 113 strlen 155 structure editors 132 structured files 50 sub-editor 54, 101, 101 suffix arguments 113 Sun workstations 23, 29 suspend process 32 Swap_Point_And_Mark 60 system text files 47 TAB 152 tablet 30 tabs 93 TECO 39, 72, 80, 81, 145, 180 terminfo 26 text files 45, 47 handling 37 structure of 45 three-file sysstem 80 time 151 toaster 59 top-level 106 Tops-20 180 touch sensitive display 29 trackball 30 trees 9 TTY 21 twiddling 143 two-dimensional array 43 "typeability" 24 type of experience 13 typing aids 133 typos 143 Undo 122 undo 120 UNICODE 50 unicorn 98 uniformity 128 unique identifier 101 universal argument 112 UNIX 47 Unix stream 22 up/down 135 upper-case 130 user categories 11 goals 14 user-oriented commands 106 vi 109 virtual memory 78 visible effect 125 VT100 22, 28, 87 VT200 28 VT52 22 whale 83 where_it_is 57 whirlpool 36 window 84, 135 window mark 101 Window_Create 86 Window_Destroy 86 Window_Fini 84, 87 Window_Grow 86 Window_Init 84, 87 Window_Load 85 Window_Save 85 words 65, 136 word wrap 92 world 56 World_Fini 58 World_Init 58 World_Load 58 World_Save 58 World_Save 85 wrap 91 write 54 WYSIWYG 15 xiswhite 155 XON/XOFF 32 xstrcpy 155 Xylogics 34 zero-length lines 48 ^ 94, 202
Copyright 1999 by Craig A. Finseth.