Hex Artifact Content
Not logged in

Artifact 8a207d9e53cd2c7bf2bdf3101b09f95df6ab2946:


0000: 0a 20 2f 2a 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  . /* ===========
0010: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0040: 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 20 20 46 49 4c  =======..    FIL
0050: 45 3a 20 22 2f 68 6f 6d 65 2f 6a 6f 7a 65 2f 73  E: "/home/joze/s
0060: 72 63 2f 74 63 6c 72 65 61 64 6c 69 6e 65 2f 74  rc/tclreadline/t
0070: 63 6c 73 68 72 6c 2e 63 22 0a 20 20 20 20 4c 41  clshrl.c".    LA
0080: 53 54 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 3a  ST MODIFICATION:
0090: 20 22 53 61 74 2c 20 32 35 20 4d 61 72 20 32 30   "Sat, 25 Mar 20
00a0: 30 30 20 32 30 3a 35 31 3a 33 39 20 2b 30 31 30  00 20:51:39 +010
00b0: 30 20 28 6a 6f 7a 65 29 22 0a 20 20 20 20 28 43  0 (joze)".    (C
00c0: 29 20 31 39 39 38 20 2d 20 32 30 30 30 20 62 79  ) 1998 - 2000 by
00d0: 20 4a 6f 68 61 6e 6e 65 73 20 5a 65 6c 6c 6e 65   Johannes Zellne
00e0: 72 2c 20 3c 6a 6f 68 61 6e 6e 65 73 40 7a 65 6c  r, <johannes@zel
00f0: 6c 6e 65 72 2e 6f 72 67 3e 0a 20 20 20 20 24 49  lner.org>.    $I
0100: 64 24 0a 20 20 20 20 2d 2d 2d 0a 0a 20 20 20 20  d$.    ---..    
0110: 74 63 6c 72 65 61 64 6c 69 6e 65 20 2d 2d 20 67  tclreadline -- g
0120: 6e 75 20 72 65 61 64 6c 69 6e 65 20 66 6f 72 20  nu readline for 
0130: 74 63 6c 0a 20 20 20 20 68 74 74 70 3a 2f 2f 77  tcl.    http://w
0140: 77 77 2e 7a 65 6c 6c 6e 65 72 2e 6f 72 67 2f 74  ww.zellner.org/t
0150: 63 6c 72 65 61 64 6c 69 6e 65 2f 0a 20 20 20 20  clreadline/.    
0160: 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39  Copyright (c) 19
0170: 39 38 20 2d 20 32 30 30 30 2c 20 4a 6f 68 61 6e  98 - 2000, Johan
0180: 6e 65 73 20 5a 65 6c 6c 6e 65 72 20 3c 6a 6f 68  nes Zellner <joh
0190: 61 6e 6e 65 73 40 7a 65 6c 6c 6e 65 72 2e 6f 72  annes@zellner.or
01a0: 67 3e 0a 0a 20 20 20 20 54 68 69 73 20 73 6f 66  g>..    This sof
01b0: 74 77 61 72 65 20 69 73 20 63 6f 70 79 72 69 67  tware is copyrig
01c0: 68 74 20 75 6e 64 65 72 20 74 68 65 20 42 53 44  ht under the BSD
01d0: 20 6c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 3d   license...    =
01e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
01f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0200: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0210: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0220: 3d 20 2a 2f 20 20 0a 0a 23 69 66 64 65 66 20 48  = */  ..#ifdef H
0230: 41 56 45 5f 43 4f 4e 46 49 47 5f 48 0a 23 20 20  AVE_CONFIG_H.#  
0240: 20 69 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67   include "config
0250: 2e 68 22 0a 23 65 6e 64 69 66 0a 0a 23 69 6e 63  .h".#endif..#inc
0260: 6c 75 64 65 20 3c 74 63 6c 2e 68 3e 0a 23 69 6e  lude <tcl.h>.#in
0270: 63 6c 75 64 65 20 3c 74 63 6c 72 65 61 64 6c 69  clude <tclreadli
0280: 6e 65 2e 68 3e 0a 0a 23 69 66 20 30 0a 23 69 6e  ne.h>..#if 0.#in
0290: 63 6c 75 64 65 20 3c 61 73 73 65 72 74 2e 68 3e  clude <assert.h>
02a0: 0a 23 65 6e 64 69 66 0a 0a 65 78 74 65 72 6e 20  .#endif..extern 
02b0: 69 6e 74 20 54 63 6c 72 65 61 64 6c 69 6e 65 5f  int Tclreadline_
02c0: 49 6e 69 74 28 54 63 6c 5f 49 6e 74 65 72 70 20  Init(Tcl_Interp 
02d0: 2a 69 6e 74 65 72 70 29 3b 0a 65 78 74 65 72 6e  *interp);.extern
02e0: 20 69 6e 74 20 54 63 6c 72 65 61 64 6c 69 6e 65   int Tclreadline
02f0: 5f 53 61 66 65 49 6e 69 74 28 54 63 6c 5f 49 6e  _SafeInit(Tcl_In
0300: 74 65 72 70 20 2a 69 6e 74 65 72 70 29 3b 0a 0a  terp *interp);..
0310: 69 6e 74 0a 54 63 6c 72 65 61 64 6c 69 6e 65 41  int.TclreadlineA
0320: 70 70 49 6e 69 74 28 54 63 6c 5f 49 6e 74 65 72  ppInit(Tcl_Inter
0330: 70 2a 20 69 6e 74 65 72 70 29 0a 7b 0a 20 20 20  p* interp).{.   
0340: 20 63 68 61 72 20 66 69 6c 65 5b 30 78 66 66 5d   char file[0xff]
0350: 3b 0a 20 20 20 20 69 6e 74 20 73 74 61 74 75 73  ;.    int status
0360: 3b 0a 23 69 66 20 30 0a 20 20 20 20 61 73 73 65  ;.#if 0.    asse
0370: 72 74 28 54 63 6c 5f 49 6e 69 74 53 74 75 62 73  rt(Tcl_InitStubs
0380: 28 69 6e 74 65 72 70 2c 20 54 43 4c 5f 56 45 52  (interp, TCL_VER
0390: 53 49 4f 4e 2c 20 30 29 29 3b 0a 23 65 6e 64 69  SION, 0));.#endi
03a0: 66 0a 20 20 20 20 69 66 20 28 54 43 4c 5f 45 52  f.    if (TCL_ER
03b0: 52 4f 52 20 3d 3d 20 54 63 6c 5f 49 6e 69 74 28  ROR == Tcl_Init(
03c0: 69 6e 74 65 72 70 29 29 20 7b 0a 09 72 65 74 75  interp)) {..retu
03d0: 72 6e 20 54 43 4c 5f 45 52 52 4f 52 3b 0a 20 20  rn TCL_ERROR;.  
03e0: 20 20 7d 0a 20 20 20 20 69 66 20 28 54 43 4c 5f    }.    if (TCL_
03f0: 45 52 52 4f 52 20 3d 3d 20 54 63 6c 72 65 61 64  ERROR == Tclread
0400: 6c 69 6e 65 5f 49 6e 69 74 28 69 6e 74 65 72 70  line_Init(interp
0410: 29 29 20 7b 0a 09 72 65 74 75 72 6e 20 54 43 4c  )) {..return TCL
0420: 5f 45 52 52 4f 52 3b 0a 20 20 20 20 7d 0a 20 20  _ERROR;.    }.  
0430: 20 20 54 63 6c 5f 53 74 61 74 69 63 50 61 63 6b    Tcl_StaticPack
0440: 61 67 65 28 69 6e 74 65 72 70 2c 20 22 74 63 6c  age(interp, "tcl
0450: 72 65 61 64 6c 69 6e 65 22 2c 0a 09 54 63 6c 72  readline",..Tclr
0460: 65 61 64 6c 69 6e 65 5f 49 6e 69 74 2c 20 54 63  eadline_Init, Tc
0470: 6c 72 65 61 64 6c 69 6e 65 5f 53 61 66 65 49 6e  lreadline_SafeIn
0480: 69 74 29 3b 0a 23 69 66 20 28 54 43 4c 5f 4d 41  it);.#if (TCL_MA
0490: 4a 4f 52 5f 56 45 52 53 49 4f 4e 20 3d 3d 20 37  JOR_VERSION == 7
04a0: 29 20 26 26 20 28 54 43 4c 5f 4d 49 4e 4f 52 5f  ) && (TCL_MINOR_
04b0: 56 45 52 53 49 4f 4e 20 3d 3d 20 34 29 0a 20 20  VERSION == 4).  
04c0: 20 20 74 63 6c 5f 52 63 46 69 6c 65 4e 61 6d 65    tcl_RcFileName
04d0: 20 3d 20 22 7e 2f 2e 74 63 6c 73 68 72 63 22 3b   = "~/.tclshrc";
04e0: 0a 23 65 6c 73 65 0a 20 20 20 20 54 63 6c 5f 53  .#else.    Tcl_S
04f0: 65 74 56 61 72 28 69 6e 74 65 72 70 2c 20 22 74  etVar(interp, "t
0500: 63 6c 5f 72 63 46 69 6c 65 4e 61 6d 65 22 2c 20  cl_rcFileName", 
0510: 22 7e 2f 2e 74 63 6c 73 68 72 63 22 2c 20 54 43  "~/.tclshrc", TC
0520: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0530: 23 65 6e 64 69 66 0a 20 20 20 20 73 70 72 69 6e  #endif.    sprin
0540: 74 66 28 66 69 6c 65 2c 20 22 25 73 2f 74 63 6c  tf(file, "%s/tcl
0550: 72 65 61 64 6c 69 6e 65 49 6e 69 74 2e 74 63 6c  readlineInit.tcl
0560: 22 2c 20 54 43 4c 52 4c 5f 4c 49 42 52 41 52 59  ", TCLRL_LIBRARY
0570: 29 3b 0a 20 20 20 20 69 66 20 28 28 73 74 61 74  );.    if ((stat
0580: 75 73 20 3d 20 54 63 6c 5f 45 76 61 6c 46 69 6c  us = Tcl_EvalFil
0590: 65 28 69 6e 74 65 72 70 2c 20 66 69 6c 65 29 29  e(interp, file))
05a0: 29 20 7b 0a 09 66 70 72 69 6e 74 66 28 73 74 64  ) {..fprintf(std
05b0: 65 72 72 2c 20 22 28 54 63 6c 72 65 61 64 6c 69  err, "(Tclreadli
05c0: 6e 65 41 70 70 49 6e 69 74 29 20 75 6e 61 62 6c  neAppInit) unabl
05d0: 65 20 74 6f 20 65 76 61 6c 20 25 73 5c 6e 22 2c  e to eval %s\n",
05e0: 20 66 69 6c 65 29 3b 0a 09 65 78 69 74 20 28 31   file);..exit (1
05f0: 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 72 65 74  );.    }.    ret
0600: 75 72 6e 20 54 43 4c 5f 4f 4b 3b 0a 7d 0a 0a 69  urn TCL_OK;.}..i
0610: 6e 74 0a 6d 61 69 6e 28 69 6e 74 20 61 72 67 63  nt.main(int argc
0620: 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 0a  , char *argv[]).
0630: 7b 0a 20 20 20 20 54 63 6c 5f 4d 61 69 6e 28 61  {.    Tcl_Main(a
0640: 72 67 63 2c 20 61 72 67 76 2c 20 54 63 6c 72 65  rgc, argv, Tclre
0650: 61 64 6c 69 6e 65 41 70 70 49 6e 69 74 29 3b 0a  adlineAppInit);.
0660: 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a      return 0;.}.