Changeset 11490


Ignore:
Timestamp:
12/27/08 14:59:26 (13 years ago)
Author:
ehuelsmann
Message:

Implement CDR6: *inspector-hook*.

This implements feature request ticket #9.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/Keyword.java

    r11391 r11490  
    145145        WINDOWS             = internKeyword("WINDOWS"),
    146146        X86                 = internKeyword("X86"),
    147         X86_64              = internKeyword("X86-64");
     147        X86_64              = internKeyword("X86-64"),
     148        CDR6                = internKeyword("CDR6");
    148149}
  • trunk/abcl/src/org/armedbear/lisp/Lisp.java

    r11488 r11490  
    21212121    if (osName.startsWith("Linux"))
    21222122      {
     2123        Symbol.FEATURES.setSymbolValue(list7(Keyword.ARMEDBEAR,
     2124                                             Keyword.ABCL,
     2125                                             Keyword.COMMON_LISP,
     2126                                             Keyword.ANSI_CL,
     2127                                             Keyword.UNIX,
     2128                                             Keyword.LINUX,
     2129                                             Keyword.CDR6));
     2130      }
     2131    else if (osName.startsWith("SunOS"))
     2132      {
     2133        Symbol.FEATURES.setSymbolValue(list7(Keyword.ARMEDBEAR,
     2134                                             Keyword.ABCL,
     2135                                             Keyword.COMMON_LISP,
     2136                                             Keyword.ANSI_CL,
     2137                                             Keyword.UNIX,
     2138                                             Keyword.SUNOS,
     2139                                             Keyword.CDR6));
     2140      }
     2141    else if (osName.startsWith("Mac OS X"))
     2142      {
     2143        Symbol.FEATURES.setSymbolValue(list7(Keyword.ARMEDBEAR,
     2144                                             Keyword.ABCL,
     2145                                             Keyword.COMMON_LISP,
     2146                                             Keyword.ANSI_CL,
     2147                                             Keyword.UNIX,
     2148                                             Keyword.DARWIN,
     2149                                             Keyword.CDR6));
     2150      }
     2151    else if (osName.startsWith("FreeBSD"))
     2152      {
     2153        Symbol.FEATURES.setSymbolValue(list7(Keyword.ARMEDBEAR,
     2154                                             Keyword.ABCL,
     2155                                             Keyword.COMMON_LISP,
     2156                                             Keyword.ANSI_CL,
     2157                                             Keyword.UNIX,
     2158                                             Keyword.FREEBSD,
     2159                                             Keyword.CDR6));
     2160      }
     2161    else if (osName.startsWith("Windows"))
     2162      {
    21232163        Symbol.FEATURES.setSymbolValue(list6(Keyword.ARMEDBEAR,
    21242164                                             Keyword.ABCL,
    21252165                                             Keyword.COMMON_LISP,
    21262166                                             Keyword.ANSI_CL,
    2127                                              Keyword.UNIX,
    2128                                              Keyword.LINUX));
    2129       }
    2130     else if (osName.startsWith("SunOS"))
    2131       {
    2132         Symbol.FEATURES.setSymbolValue(list6(Keyword.ARMEDBEAR,
    2133                                              Keyword.ABCL,
    2134                                              Keyword.COMMON_LISP,
    2135                                              Keyword.ANSI_CL,
    2136                                              Keyword.UNIX,
    2137                                              Keyword.SUNOS));
    2138       }
    2139     else if (osName.startsWith("Mac OS X"))
    2140       {
    2141         Symbol.FEATURES.setSymbolValue(list6(Keyword.ARMEDBEAR,
    2142                                              Keyword.ABCL,
    2143                                              Keyword.COMMON_LISP,
    2144                                              Keyword.ANSI_CL,
    2145                                              Keyword.UNIX,
    2146                                              Keyword.DARWIN));
    2147       }
    2148     else if (osName.startsWith("FreeBSD"))
    2149       {
    2150         Symbol.FEATURES.setSymbolValue(list6(Keyword.ARMEDBEAR,
    2151                                              Keyword.ABCL,
    2152                                              Keyword.COMMON_LISP,
    2153                                              Keyword.ANSI_CL,
    2154                                              Keyword.UNIX,
    2155                                              Keyword.FREEBSD));
    2156       }
    2157     else if (osName.startsWith("Windows"))
     2167                                             Keyword.WINDOWS,
     2168                                             Keyword.CDR6));
     2169      }
     2170    else
    21582171      {
    21592172        Symbol.FEATURES.setSymbolValue(list5(Keyword.ARMEDBEAR,
     
    21612174                                             Keyword.COMMON_LISP,
    21622175                                             Keyword.ANSI_CL,
    2163                                              Keyword.WINDOWS));
    2164       }
    2165     else
    2166       {
    2167         Symbol.FEATURES.setSymbolValue(list4(Keyword.ARMEDBEAR,
    2168                                              Keyword.ABCL,
    2169                                              Keyword.COMMON_LISP,
    2170                                              Keyword.ANSI_CL));
     2176                                             Keyword.CDR6));
    21712177      }
    21722178  }
     
    25232529  protected static boolean TRAP_UNDERFLOW = true;
    25242530
     2531
     2532  // Extentions
     2533  static {
     2534    Symbol._INSPECTOR_HOOK_.initializeSpecial(NIL);
     2535  }
     2536
    25252537  private static final void loadClass(String className)
    25262538  {
  • trunk/abcl/src/org/armedbear/lisp/Symbol.java

    r11478 r11490  
    30113011  public static final Symbol STRING_OUTPUT_STREAM =
    30123012    PACKAGE_SYS.addInternalSymbol("STRING-OUTPUT-STREAM");
     3013
     3014  // CDR6
     3015  public static final Symbol _INSPECTOR_HOOK_ =
     3016    PACKAGE_EXT.addExternalSymbol("*INSPECTOR-HOOK*");
     3017
    30133018}
  • trunk/abcl/src/org/armedbear/lisp/inspect.lisp

    r11391 r11490  
    140140
    141141(defun inspect (obj)
     142  (unless ext:*inspector-hook*
     143    (funcall ext:*inspector-hook* obj))
    142144  (when *inspected-object*
    143145    (push *inspected-object* *inspected-object-stack*))
Note: See TracChangeset for help on using the changeset viewer.