Changeset 98
- Timestamp:
- 04/12/07 20:49:40 (5 years ago)
- Location:
- NEWT0/trunk/src
- Files:
-
- 4 edited
-
main.c (modified) (1 diff)
-
newt_core/NewtPkg.c (modified) (1 diff)
-
newt_core/NewtPrint.c (modified) (8 diffs)
-
newt_core/incs/NewtEnv.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
NEWT0/trunk/src/main.c
r68 r98 296 296 break; 297 297 298 case 'I': 299 NEWT_INDENT = 1; 300 break; 301 298 302 case 'v': 299 303 newt_show_version(); -
NEWT0/trunk/src/newt_core/NewtPkg.c
r97 r98 658 658 659 659 // the original file has this (c) message embedded 660 { char msg[] = "Newtonェ ToolKit Package ゥ 1992-1997, Apple Computer, Inc."; 660 { 661 #ifdef _MSC_VER 662 char msg[] = "Newtonª ToolKit Package © 1992-1997, Apple Computer, Inc."; 663 #else 664 char msg[] = "Newtonェ ToolKit Package ゥ 1992-1997, Apple Computer, Inc."; 665 #endif 661 666 PkgWriteData(&pkg, pkg.header_size + pkg.var_data_size, msg, sizeof(msg)); 662 667 pkg.var_data_size += sizeof(msg); -
NEWT0/trunk/src/newt_core/NewtPrint.c
r93 r98 30 30 static char * NewtCharToEscape(int c); 31 31 32 static void NIOPrintIndent(newtStream_t * f, int32_t level); 32 33 static void NIOPrintEscapeStr(newtStream_t * f, char * str, int len); 33 34 static void NIOPrintRef(newtStream_t * f, newtRefArg r); … … 103 104 104 105 #pragma mark - 106 105 107 /*------------------------------------------------------------------------*/ 106 108 /** シンボル文字列が表示可能か調べる … … 201 203 202 204 return s; 205 } 206 207 208 /*------------------------------------------------------------------------*/ 209 /** Print a NewLine character and some spaces to indent the following text. 210 * @param f [in] destination stream 211 * @param depth [in] max indent level minus current indent level 212 */ 213 void NIOPrintIndent(newtStream_t * f, int32_t depth) 214 { 215 int32_t i, n = newt_env._indentDepth - depth; 216 NIOFputc('\n', f); 217 if (NEWT_INDENT>0) { 218 n *= NEWT_INDENT; 219 for (i=0; i<n; i++) { 220 NIOFputc('\t', f); 221 } 222 } else { 223 n *= -NEWT_INDENT; 224 for (i=0; i<n; i++) { 225 NIOFputc(' ', f); 226 } 227 } 203 228 } 204 229 … … 568 593 if (NewtRefIsNotNIL(klass) && ! NewtRefEqual(klass, NSSYM0(array))) 569 594 { 595 if (NEWT_INDENT) NIOPrintIndent(f, depth-1); 570 596 NIOPrintObj2(f, klass, 0, true); 571 597 NIOFputs(": ", f); … … 594 620 } 595 621 622 if (NEWT_INDENT) NIOPrintIndent(f, depth); 596 623 NIOPrintObj2(f, slots[i], depth, literal); 597 624 } 625 depth++; 598 626 } 599 627 628 if (NEWT_INDENT) NIOPrintIndent(f, depth); 600 629 NIOFputs("]", f); 601 630 } … … 712 741 for (i = 0; i < len; i++) 713 742 { 714 if (0 < i) 743 if (0 < i) { 715 744 NIOFputs(", ", f); 745 } 716 746 717 747 if (printLength <= i) 718 748 { 719 749 NIOFputs("...", f); 750 if (NEWT_INDENT) NIOPrintIndent(f, depth); 720 751 break; 721 752 } 753 if (NEWT_INDENT) NIOPrintIndent(f, depth); 722 754 723 755 slot = NewtGetMapIndex(obj->as.map, i, &index); … … 727 759 NIOFputs(": ", f); 728 760 NIOPrintObj2(f, slots[i], depth, literal); 761 729 762 } 763 if (NEWT_INDENT) NIOPrintIndent(f, depth+1); 730 764 } 731 765 … … 870 904 void NIOPrintObj(newtStream_t * f, newtRefArg r) 871 905 { 872 NIOPrintObj2(f, r, NewtGetPrintDepth(), false); 906 int32_t depth = NewtGetPrintDepth(); 907 newt_env._indentDepth = depth; 908 NIOPrintObj2(f, r, depth, false); 873 909 } 874 910 -
NEWT0/trunk/src/newt_core/incs/NewtEnv.h
r93 r98 26 26 #define NEWT_DUMPSYNTAX (newt_env._dumpSyntax) ///< ダンプ構文木フラグ 27 27 #define NEWT_DUMPBC (newt_env._dumpBC) ///< ダンプバイトコードフラグ 28 #define NEWT_INDENT (newt_env._indent) ///< Enable indenting when printing 28 29 #define NEWT_POOL (newt_env.pool) ///< メモリプール 29 30 #define NEWT_SWEEP (newt_env.sweep) ///< SWEEPフラグ … … 96 97 bool _dumpSyntax; ///< 構文木ダンプフラグ 97 98 bool _dumpBC; ///< バイトコードダンプフラグ 99 int32_t _indent; ///< number of tabs for indenting a printout 100 int32_t _indentDepth; ///< base for calculating the indent depth 98 101 } newt_env_t; 99 102
Note: See TracChangeset
for help on using the changeset viewer.
