home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / ehp14cs.zip / defs.h < prev    next >
Text File  |  1995-06-12  |  19KB  |  415 lines

  1. /* *********************** Include-Datei DEFS.H ******************** */
  2. /* Diese Datei enthält für alle Moduln von EHP wichtige Definitionen */
  3.  
  4. #include <stdio.h>
  5. #include <string.h>
  6. #include <sys/types.h>
  7. #include "curses.h"
  8. #include <sys/stat.h>
  9. #include <stdlib.h>
  10.  
  11. /* Note, that the following definitions are to change for UNIX, too */
  12. #ifdef OS2
  13. #define EHP_INT_LEN 32
  14. #else
  15. #define EHP_INT_LEN 16
  16. #endif
  17.  
  18. #define sname(x) (strrchr((x),'\\')?strrchr((x),'\\')+1:x)
  19.  
  20. #define MAX_HEIGHT (LINES-1) /* Eine Zeile muß für Statusfenster freibleiben */
  21. #define MAX_WIDTH (COLS)  
  22.  
  23. #define START_HEIGHT MAX_HEIGHT /* Anfangsgroessen eines Fensters */
  24. #define START_WIDTH MAX_WIDTH
  25. #define START_X 0
  26. #define START_Y 0
  27.  
  28. #ifndef OWN_CURSES
  29. /* commented out for testing with Linux (au)
  30. #define A_BLINK     _STANDOUT
  31. #define A_BOLD      _STANDOUT
  32. #define A_STANDOUT  _STANDOUT
  33. #define A_UNDERLINE _STANDOUT
  34. #define nodelay(window, b)
  35. */
  36. #endif
  37. #define BORDER_HOR  '─'
  38. #define BORDER_VER  '│'
  39. #define CORNER_UL   '┌'
  40. #define CORNER_UR   '┐'
  41. #define CORNER_LL   '└'
  42. #define CORNER_LR   '┘'
  43. #define REST_CHAR   BORDER_VER+256*A_STANDOUT   /* Zeichen zum Restaurieren des */
  44. #define REST_ARR_UP ''+256*A_STANDOUT /* linken und rechten Fensterrandes */
  45. #define REST_ARR_DN ''+256*A_STANDOUT 
  46.  
  47. #define W_AKT     0             /* Für modus-Flag der Funktionen kopf */
  48. #define W_NOTAKT  1             /* und rahmen */
  49.  
  50. #define STD_TAB 8               /* Standard-Tablaenge */
  51. #define SW_STEP 5               /* Schrittweite fuer grosse Schritte */
  52.                 /* bei size_win und move_win */
  53.  
  54. #define BUFFSIZE  1000          /* Groesse von Textpuffern */
  55. #define MAXLENGTH 1000          /* Maximale Zeilenlaenge */
  56. #define MAX_ANZ_LINES ((int) (((unsigned) (1<<(EHP_INT_LEN-1)))-1)) /* Maximale Zeilenanzahl */
  57. #define ANZ_WIN ((int) (((unsigned) (1<<(EHP_INT_LEN-1)))-1))       /* Maximale Fensteranzahl */
  58. #define INS_BUFF_LEN 3*MAXLENGTH  /* Falls Insert mit unterstrichenen Zeichen */
  59.  
  60. #define INSERT 1                /* modes fuer fastcharout */
  61. #define PUT 2
  62.  
  63. #define MAX_COMM_LEN 10         /* Defines fuer Taste    */
  64.  
  65. #define F_NONE       0          /* defines fuer Wiederholfunktion Suche/ */
  66. #define F_FIND       1          /* Ersetze                               */
  67. #define F_REPLACE    2
  68.  
  69. #define J_OK         0          /* defines fuer Rueckgabewerte der JOIN-Fkt. */
  70. #define J_LASTLINE   1
  71. #define J_TOOLONG    2
  72.  
  73. #define IGNORE_COORS 0          /* defines fuer Modi von del_line() und koppel_line() */
  74. #define ADAPT_COORS  1
  75.  
  76. #define AP_INSERT 0             /* defines fuer adapt_pos() */
  77. #define AP_DELETE 1
  78.  
  79. #ifdef OS2
  80. #define MOUSE_MASK        126   /* Linken und rechten Mausknopf inkl. Bewegung testen */
  81. #define MOUSE_BUT1          4
  82. #define MOUSE_BUT2         16
  83. #define MOUSE_BUT3         64
  84. #define MOUSE_BUT1_MOVE     2
  85. #define MOUSE_BUT2_MOVE     8
  86. #define MOUSE_BUT3_MOVE    32
  87. #else
  88. #define MOUSE_MASK         10   /* Linken und rechten Mausknopf testen */
  89. #define MOUSE_BUT1          1
  90. #define MOUSE_BUT2          2
  91. #define MOUSE_BUT3          4
  92. #endif
  93. #define MOUSE_HIDE          1   /* Mauszeiger verstecken */
  94. #define MOUSE_SHOW          2   /* Mauszeiger anzeigen */
  95. #define NO_KLICK            1   
  96. #define KLICK_RIGHT         2   /* Konstanten für Funktion ja_nein */
  97. #define KLICK_LEFT          3
  98. #define MOUSE_KOPF          1   /* Maus steht in Kopfzeile */
  99. #define MOUSE_CLOSE         2   /* Knopf zum Schlieaen des Fensters */
  100. #define MOUSE_TOG_SIZE      3   /* Groesse wechseln */
  101. #define MOUSE_SIZE          4   /* Groesse veraendern */
  102. #define MOUSE_TEXT          5   /* Maus im Textbereich */
  103. #define MOUSE_RAHMEN        6
  104. #define MOUSE_SCROLL_UP     7   /* Text nach oben scrollen */
  105. #define MOUSE_SCROLL_DOWN   8   /* Text nach unten scollen */
  106. #define MOUSE_SCROLL_RIGHT  9   /* Text nach rechts scrollen */
  107. #define MOUSE_SCROLL_LEFT  10   /* Text nach links scrollen */
  108.  
  109. #define GS_NUM 1                /* define fuer newgetstr: nur Ziffern */
  110. #define GS_ANY 2                /* alle moeglichen Zeichen */
  111. #define EC_SCROLL_WIDTH 10      /* Bildschirmverschiebung bei Erreichen */
  112.                 /* des rechten Randes                   */
  113. #define MACRO_NEST_DEPTH 20     /* max. Verschachtelungstiefe der Macros */
  114. #define MAX_MACRO_LEN MAXLENGTH /* max. Anzahl Zeichen pro Macro */
  115. #define ANZ_MACROS 26
  116. #define ANZ_MARKER 10
  117. #define STD_FATTR S_IWRITE | S_IREAD /* Standard-Dateiattribute */
  118.  
  119. #define PF_TASTEN "tasten.inf" /* Pfad für Tastenbelegungsdatei */
  120. #define PF_CONFIG "config.ehp" /* Pfad für Standardkonfigurationsdatei */
  121. #ifdef OS2
  122. #define STD_SHELL "cmd.exe"
  123. #define PF_LOAD   "load.cmd"   /* default load-file */
  124. #else
  125. #define STD_SHELL "command.com"
  126. #define PF_LOAD   "load.bat"   /* default load-file */
  127. #endif
  128.  
  129. #define LAST_LINE_DEL 2
  130. #define OTHER_LINE_DEL 1
  131. #define NO_LINE_DEL 0
  132.  
  133. #define BT_RECHTECK 0           /* Blocktypen */
  134. #define BT_NORMAL 1
  135.  
  136. #define B_IN_BLOCK 1                    /* Rueckgabewerte von in_block() */
  137. #define B_FIRST_LINE 2
  138. #define B_LAST_LINE 4
  139. #define B_BEFORE 8
  140. #define B_AFTER 16
  141. #define B_LINE 32
  142. #define B_FIRST_CHAR 64
  143. #define B_RIGHT 128
  144.  
  145. #ifdef GERMAN
  146. #define T_SIZE_ERRTEXT   "Text würde zu lang werden!"
  147. #define L_SIZE_ERRTEXT   "Zeile würde zu lang werden!"
  148. #define B_SIZE_ERRTEXT   "Text oder Zeile würden zu lang werden!"
  149. #define W_COUNT_ERRTEXT  "Kein Fenster mehr frei, weitere Dateien werden ignoriert!"
  150. #define NO_LOAD_ERRTEXT  "Load-File konnte nicht ausgefuehrt werden!\n"
  151. #define PROMPT_SEARCH    "Suchbegriff : "
  152. #define PROMPT_REPLACE   "Ersetzungsbegriff : "
  153. #define PROMPT_ERRREGEX  "Fehler beim Übersetzen des Suchmusters"
  154. #define PROMPT_FOPTIONS  "Optionen ([<Zahl>] [r] [i] [w] [b|e] [x|n]) : "
  155. #define PROMPT_ROPTIONS  "Optionen ([<Zahl>] [r] [i] [w] [b|e] [x|n] [g] [a] [u]) : "
  156. #define PROMPT_NOTFOUND  "Suchbegriff nicht gefunden!"
  157. #define PROMPT_FOUNDN    "Konnte den Suchbegriff nur %d mal finden!"
  158. #define PROMPT_ERREPLACE "Konnte nicht ersetzen, Zeile zu lang!"
  159. #define PROMPT_FEMPTY    "Text leer! Kann nichts suchen!"
  160. #define PROMPT_REMPTY    "Text leer! Kann nichts ersetzen!"
  161. #define PROMPT_REPLYN    "Ersetzen (Ja/Nein/Abbruch)? "
  162. #define PROMPT_SEARCHING "Suche laeuft!"
  163. #define PROMPT_HELPTEXT  "Hilfstexte "
  164. #define PROMPT_BACKUP    "Sicherheitskopieoption "
  165. #define PROMPT_REGEX     "Reguläre Ausdrücke "
  166. #define PROMPT_BLKHILGHT "Blockhervorhebung "
  167. #define PROMPT_WORKING   "Bearbeitung läuft"
  168. #define PROMPT_OUTOFMEM  "Nicht genug Speicher ! "
  169. #define PROMPT_ENTER     " Bitte RETURN drücken..."
  170. #define PROMPT_YES_NO    " (J/N) ? "
  171. #define PROMPT_NO_FILE   "Konnte kein File laden!"
  172. #define PROMPT_REPEAT    "Anzahl der Wiederholungen : "
  173. #define PROMPT_KEYREAD   "Tastenbelegungsdatei nicht lesbar!"
  174. #define PROMPT_KEYLENGTH "Tastenbelegungsdatei (Längenangabe) fehlerhaft!"
  175. #define PROMPT_KEYCOMM   "Tastenbelegungsdatei (Kommandos) fehlerhaft!"
  176. #define PROMPT_KEYCOMLEN "Befehlskombination in Tastenbelegungsdatei zu lang!"
  177. #define PROMPT_KEYHELP   "Tastenbelegungsdatei (Hilfstexte) fehlerhaft!"
  178. #define PROMPT_KEYHELPEM "Tastenbelegungsdatei fehlerhaft (Hilfstexte leer)!"
  179. #define PROMPT_RECURSION "Max. Verschachtelungstiefe überschritten, Puffer werden gelöscht!"
  180. #define PROMPT_COMMAND   "Kommandos eingeben (<RETURN> = Ende, CTRL-c <c> = <c> einfügen): "
  181. #define PROMPT_FILENAME  "Dateiname : "
  182. #define PROMPT_TABLEN    "Neue Tabulatorlänge (dafault: %d): "
  183. #define PROMPT_LINENUMB  "Welche Zeilennummer? "
  184. #define PROMPT_WINDOWNUM "Fensternummer: "
  185. #define PROMPT_CUT       "Block wurde im PASTE-Puffer gespeichert"
  186. #define PROMPT_ASKINDENT "Wie viele Spalten (negativ = nach links) ? "
  187. #define PROMPT_NOBLOCK   "Kein Block markiert!"
  188. #define PROMPT_ERRWRITE  "Schreibfehler bei Datei "
  189. #define PROMPT_MARKER    "Welcher Marker (0-9)? "
  190. #define PROMPT_MACRO     "A-Z: Macro def.; a-z: Macro ausf.;  "
  191. #define PROMPT_SAVE      "Dateien sichern"
  192. #define PROMPT_SAVING    "Satei %s wird abgespeichert..."
  193. #define PROMPT_LOADING   "Satei %s wird geladen..."
  194. #define PROMPT_NOWINDOW  "Kein Fenster mehr frei! "
  195. #define PROMPT_LINETOLNG "Zeile zu lang! "
  196. #define PROMPT_ONEWINDOW "Nur ein Fenster geöffnet !"
  197. #define PROMPT_BLOCKEMPT "Block leer!"
  198. #define PROMPT_FILENOTFD "Datei nicht gefunden !"
  199. #define PROMPT_ERRMARKER "Inkorrekte Eingabe, es wurde kein Marker gesetzt!"
  200. #define PROMPT_STALEMARK "Zum Marker gehöriges Fenster existiert nicht mehr!"
  201. #define PROMPT_EMPTYMARK "Gewünschter Marker noch nicht belegt!"
  202. #define PROMPT_ERRINPUT  "Inkorrekte Eingabe!"
  203. #define PROMPT_TMPOPEN   "Temporäre Datei konnte nicht geöffnet werden!"
  204. #define PROMPT_ERRSHELL  "Shell lieferte Fehlercolde zurück !"
  205. #define PROMPT_TMPNOTFND "Temporäre Datei nicht gefunden (evtl. kein Speicher)!"
  206. #define PROMPT_ERROPNCFG "Konnte Config-Datei nicht zum Schreiben öffnen!"
  207. #define PROMPT_ERRWRTCFG "Schreibfehler in Config-Datei; Datei wird gelöscht!"
  208. #define PROMPT_ERRDELETE "Löschen was nicht möglich!"
  209. #define PROMPT_MACROEMPT "Macro %c ist leer!"
  210. #define PROMPT_FILETOLNG "Datei zu lang, konnte nicht ganz gelesen werden!"
  211. #define PROMPT_WARNLOAD  "Text geändert, aber nocht nicht gespeichert! Wirklich überladen"
  212. #define PROMPT_ALRDYLDD  "Datei schon in Fenster %s! Trotzdem laden"
  213. #define PROMPT_WARNCLOSE "Änderungen noch nicht gespeichert! Fenster wirklich schließen"
  214. #define PROMPT_WARNSAVE  "Geänderte Dateien werden gespeichert! Wirklich beenden"
  215. #define PROMPT_EXITANYWY "Trotzdem beenden"
  216. #define PROMPT_WARNQUIT  "Dateien werden nicht gespeichert! Wirklich beenden"
  217. #define PROMPT_FILEEXIST "Datei existiert bereits! Überschreiben"
  218. #define PROMPT_NEWWINDOW "Nicht gefunden! Datei in neues Fenster laden"
  219. #define PROMPT_FATAL     "Fataler Fehler (Bus Error)! Geänderte Dateien speichern"
  220. #define PROMPT_ASKNEW    "Datei %s nicht lesbar! Neu anlegen"
  221. #define PROMPT_LINE      "Zeile"
  222. #define PROMPT_COLUMN    "Spalte"
  223. #define PROMPT_MODIFIED  "GEÄNDERT"
  224. #define PROMPT_WRTPROTCT "SCHREIBSCHUTZ"
  225. #define PROMPT_WINDOW    "Fenster"
  226. #define PROMPT_WINDOWEMP "L E E R"
  227. #define PROMPT_INSERT    "Einfg"
  228. #define PROMPT_OVERWRITE "Über"
  229. #define PROMPT_UNDERLINE "Unter"
  230. #define PROMPT_ERRUNLINK "Loeschen war nicht moeglich!"
  231. #define PROMPT_ERRTMPOPN "Temporäre Datei konnte nicht geöffnet werden!"
  232. #define PROMPT_EMPTFILT  "Filterausgabe war leer, Block wurde geloescht!"
  233. #define PROMPT_FILTNAME  "Name des Filters: "
  234. #define PROMPT_FLTNMDFLT "Name des Filters (Default ist jetzt %s): "
  235. #define PROMPT_WINMOVE   "Pfeile: bewege Fenster; s: Schrittweite ändern (jetzt:%d); RETURN: Ende  "
  236. #define PROMPT_WINSIZE   "Pfeile: ändere Größe; s: Schrittweite ändern (jetzt:%d); RETURN: Ende  "
  237. #define PROMPT_ERRCONF   "Inkorrektes Dateiformat, Config-Datei wird gelöscht!"
  238. #define PROMPT_WRTPROT   "%s schreibgeschützt! Zum Speichern umbenennen!"
  239. #define PROMPT_KEYLONG   "Maximale Länge überschritten, letzte Eingabe ignoriert!"
  240. #define PROMPT_FILTINSRT "Filterausgabe konnte nicht eingefuegt werden!"
  241. #define PROMPT_SHELINSRT "Konnte Shell-Ausgabe nicht einfuegen!"
  242. #define PROMPT_INDNTLONG "Zeile zu lang, konnte nicht einruecken!"
  243. #define PROMPT_WINNMNFND "Window mit dieser Nummer nicht gefunden!"
  244. #define PROMPT_IO_REDIR  "Ein- und Ausgabe von EHP dürfen nicht umgelenkt werden!\n"
  245. #define PROMPT_ERRINDRFL "Beim Formatieren des Absatzes ist die Einrückung zu groß!"
  246. #define PROMPT_LINEBREAK "Z.umbrch"
  247. #else
  248. #define T_SIZE_ERRTEXT   "Text would grow too long!"
  249. #define L_SIZE_ERRTEXT   "Line would grow too long!"
  250. #define B_SIZE_ERRTEXT   "Text or line would grow too long!"
  251. #define W_COUNT_ERRTEXT  "No window free, further files are ignored!"
  252. #define NO_LOAD_ERRTEXT  "Unable to execute load-file!\n"
  253. #define PROMPT_SEARCH    "Find : "
  254. #define PROMPT_REPLACE   "Replace with : "
  255. #define PROMPT_ERRREGEX  "Error in compiling regular search expression"
  256. #define PROMPT_FOPTIONS  "Options ([<number>] [r] [i] [w] [b|e] [x|n]) : "
  257. #define PROMPT_ROPTIONS  "Options ([<Zahl>] [r] [i] [w] [b|e] [x|n] [g] [a] [u]) : "
  258. #define PROMPT_NOTFOUND  "Searchstring not found!"
  259. #define PROMPT_FOUNDN    "Searchstring found only %d times!"
  260. #define PROMPT_ERREPLACE "Could not replace, line too long!"
  261. #define PROMPT_FEMPTY    "Text empty! Nothing to find!"
  262. #define PROMPT_REMPTY    "Text empty! Nothing to replace!"
  263. #define PROMPT_REPLYN    "Replace (Yes/No/Abort)? "
  264. #define PROMPT_SEARCHING "Searching!"
  265. #define PROMPT_HELPTEXT  "Helptexts "
  266. #define PROMPT_BACKUP    "Creation of .bak-Files "
  267. #define PROMPT_REGEX     "Regular expressions "
  268. #define PROMPT_BLKHILGHT "Blockhighlight "
  269. #define PROMPT_WORKING   "Working"
  270. #define PROMPT_OUTOFMEM  "Out of memory ! "
  271. #define PROMPT_ENTER     " Please hit RETURN..."
  272. #define PROMPT_YES_NO    " (Y/N) ? "
  273. #define PROMPT_NO_FILE   "No file loadable!"
  274. #define PROMPT_REPEAT    "Times to repeat : "
  275. #define PROMPT_KEYREAD   "Keyboardfile unreadable!"
  276. #define PROMPT_KEYLENGTH "Keyboardfile (length information) erroneous!"
  277. #define PROMPT_KEYCOMM   "Keyboardfile (commands) erroneous!"
  278. #define PROMPT_KEYCOMLEN "Command in keyboardfile too long!"
  279. #define PROMPT_KEYHELP   "Keyboardfile (helptexts) erroneous!"
  280. #define PROMPT_KEYHELPEM "Keyboardfile erroneous (helptexts empty)!"
  281. #define PROMPT_RECURSION "Recursion too deep, buffers are deleted!"
  282. #define PROMPT_COMMAND   "Enter commands (<RETURN> = end, CTRL-c <c> = insert <c>): "
  283. #define PROMPT_FILENAME  "Filename : "
  284. #define PROMPT_TABLEN    "New tablength (dafault: %d): "
  285. #define PROMPT_LINENUMB  "Which linenumber? "
  286. #define PROMPT_WINDOWNUM "Windownumber: "
  287. #define PROMPT_CUT       "Block stored in PASTE-buffer"
  288. #define PROMPT_ASKINDENT "How many columns (negativ = to left) ? "
  289. #define PROMPT_NOBLOCK   "No block marked!"
  290. #define PROMPT_ERRWRITE  "Error writing file "
  291. #define PROMPT_MARKER    "Which marker (0-9)? "
  292. #define PROMPT_MACRO     "A-Z: define macro; a-z: execute macro;  "
  293. #define PROMPT_SAVE      "Save files"
  294. #define PROMPT_SAVING    "Saving file %s..."
  295. #define PROMPT_LOADING   "Loading file %s..."
  296. #define PROMPT_NOWINDOW  "No window available! "
  297. #define PROMPT_LINETOLNG "Line too long! "
  298. #define PROMPT_ONEWINDOW "Only one window open!"
  299. #define PROMPT_BLOCKEMPT "Block empty!"
  300. #define PROMPT_FILENOTFD "File not found!"
  301. #define PROMPT_ERRMARKER "Erroneous imput, no marker is set!"
  302. #define PROMPT_STALEMARK "Window belonging to marker ceased to exist!"
  303. #define PROMPT_EMPTYMARK "Marker not yet defined!"
  304. #define PROMPT_ERRINPUT  "Invalid input!"
  305. #define PROMPT_TMPOPEN   "Error opening tamporary file!"
  306. #define PROMPT_ERRSHELL  "Shell returned errorcode!"
  307. #define PROMPT_TMPNOTFND "Temporary file not found (perhaps no memory)!"
  308. #define PROMPT_ERROPNCFG "Error opening config-file for writing!"
  309. #define PROMPT_ERRWRTCFG "Error writing config-file; removing file!"
  310. #define PROMPT_ERRDELETE "Removing failed!"
  311. #define PROMPT_MACROEMPT "Macro %c is empty!"
  312. #define PROMPT_FILETOLNG "File too long, couldn't be read completely!"
  313. #define PROMPT_WARNLOAD  "Text modified but not saved! Really overwrite"
  314. #define PROMPT_ALRDYLDD  "File already in window %d! Load anyway"
  315. #define PROMPT_WARNCLOSE "Modifications not saved! Really close window"
  316. #define PROMPT_WARNSAVE  "Modified files are saved! Really exit"
  317. #define PROMPT_EXITANYWY "Exit anyway"
  318. #define PROMPT_WARNQUIT  "Files are not saved! Really exit"
  319. #define PROMPT_FILEEXIST "File already exists! Overwrite"
  320. #define PROMPT_NEWWINDOW "Not found! Load file in new window"
  321. #define PROMPT_FATAL     "Fatal error (bus error)! Save modified files"
  322. #define PROMPT_ASKNEW    "File %s not readable! Create it"
  323. #define PROMPT_LINE      "line"
  324. #define PROMPT_COLUMN    "column"
  325. #define PROMPT_MODIFIED  "MODIFIED"
  326. #define PROMPT_WRTPROTCT "WRITEPROTECTED"
  327. #define PROMPT_WINDOW    "window"
  328. #define PROMPT_WINDOWEMP "E M P T Y"
  329. #define PROMPT_INSERT    "Insert"
  330. #define PROMPT_OVERWRITE "Overwrt"
  331. #define PROMPT_UNDERLINE "Under"
  332. #define PROMPT_ERRUNLINK "Deletion failed!"
  333. #define PROMPT_ERRTMPOPN "Unable to open temporary file!"
  334. #define PROMPT_EMPTFILT  "Filteroutput was empty, deleting block!"
  335. #define PROMPT_FILTNAME  "Name of filter: "
  336. #define PROMPT_FLTNMDFLT "Name of filter (current default %s): "
  337. #define PROMPT_WINMOVE   "Arrow-keys: move window; s: toggle stepwidth (now:%d); RETURN: quit "
  338. #define PROMPT_WINSIZE   "Arrow-keys: change size; s: toggle stepwidth (now:%d); RETURN: quit "
  339. #define PROMPT_ERRCONF   "Erroneous fileformat, deleting config-file!"
  340. #define PROMPT_WRTPROT   "%s write-protected! Rename for saving!"
  341. #define PROMPT_KEYLONG   "Maximum length exceeded, ignoring last input!"
  342. #define PROMPT_FILTINSRT "Unable to insert filter output!"
  343. #define PROMPT_SHELINSRT "Unable to insert shell output!"
  344. #define PROMPT_INDNTLONG "Line too long, unable to indent!"
  345. #define PROMPT_WINNMNFND "Window with this number not found!"
  346. #define PROMPT_IO_REDIR  "In- and output of EHP must not be redirected!\n"
  347. #define PROMPT_ERRINDRFL "Indentation too big for reflowing this paragraph!"
  348. #define PROMPT_LINEBREAK "Linebrk"
  349. #endif
  350.  
  351. typedef struct s1
  352. {
  353.   char      *text;
  354.   struct s1 *prev,*next;
  355. } zeil_typ;
  356.  
  357. typedef struct s5
  358. {
  359.   char      *text;
  360.   struct s5 *next;
  361. } bzeil_typ;
  362.  
  363. /* Für block_typ gelten folgende Zusicherungen:
  364.    - bstart != NULL genau dann wenn es auf eine gültige Zeilenliste verweist
  365.    - laenge ist gueltig, wenn bstart != NULL
  366.    - Daß ?_{line|col} nicht gesetzt ist, heißt NICHT, daß sich in bstart
  367.      kein Block befinden kann (bedenke Backup-Kopie nach Löschen!)
  368.    - Wenn bstart != NULL, dann ist typ gültig und beschreibt den Typ des
  369.      dort gespeicherten Blocks. Außerdem ist s_col und e_col gültig (wichtig
  370.      für rechteckigen Block).
  371.    - Die Definiertheit von Blockanfang und Blockende kann an den
  372.      ?_line-Attributen erkannt werden. -1 bedeutet undefiniert.
  373. */
  374. typedef struct s3
  375. {
  376.   char      typ;
  377.   int       s_line,s_col,e_line,e_col,laenge;
  378.   bzeil_typ *bstart;
  379. } block_typ;
  380.  
  381. typedef struct s2
  382. {
  383.   char      *filename;
  384.   int       ws_col,ws_line,textline,textcol,screencol,maxline,wini,x,y,dx,dy;
  385.   int       ax,ay,adx,ady,tablen,lastcol,lastline;
  386.   unsigned  short int attribs;
  387.   char      shellflag,changeflag,insflag,underflag,autoindflag,tabflag,
  388.         read_only,linebreak;
  389.   block_typ block;
  390.   zeil_typ  *alinep,*dummyp;
  391.   WINDOW    *winp;
  392.   struct s2 *prev,*next;
  393. } win_typ;
  394.  
  395. typedef struct s6{
  396.   int window,line,col;
  397. }marker_typ;
  398.  
  399. typedef struct s8{
  400.   short int *begin,*end,*current,anz_rep;
  401.   char free_flag;
  402. }puff_typ;
  403.  
  404. typedef struct s4{
  405.   short int blen;
  406.   short int befehl[MAX_COMM_LEN];
  407.   char  *info_text;
  408. }comm_typ;
  409.  
  410. #ifndef aktdef
  411. extern win_typ *akt_winp;
  412. extern char *reserve_mem();
  413. extern char *save_text();
  414. #endif
  415.