Function MAKE-SYMBOL
make-symbol name => new-symbol
name - 文字列
new-symbol - 新しい、uninternシンボル
make-symbolは、新しくuninternであり、 名前がnameのシンボルを作成して返却します。 new-symbolは、boundでもfboundでもありません。 そして、nullのプロパティリストを持っています。
new-symbolの名前の文字列が、引数nameなのか、 あるいはそのコピーなのかは実装依存です。 いったん文字列がmake-symbolの引数nameとして与えられたら、 その文字を変更しようとした結果は未定義です。
(setq temp-string "temp") => "temp"
(setq temp-symbol (make-symbol temp-string)) => #:|temp|
(symbol-name temp-symbol) => "temp"
(eq (symbol-name temp-symbol) temp-string) => implementation-dependent
(find-symbol "temp") => NIL, NIL
(eq (make-symbol temp-string) (make-symbol temp-string)) => falseなし。
なし。
もしnameが文字列ではないとき、 型errorのエラーが発生します。
make-symbolは、名前のケースを大文字に変更しようとはしません。 シンボルの大文字小文字の変換は、ただLispのリーダーが実行するだけです。 シンボルを生成するプログラムのインターフェイスは大文字小文字を保持し、 そしてシンボルのinternを行うプログラムインターフェイスは 大文字小文字を区別します。