GNU Emacs Lisp バージョン 18 の数値は 1 種類で、それは small integer です。 バージョン 19 には (内部的には double で扱われる) float と呼ばれる浮動小数をサ ポートするコンパイル時オプションが存在します。
small integer の値の範囲はマシンの違いに依存します。多くのマシンでは -8388607 から 8388607 (24ビット) ですが、他のマシンでは -16777216 から 16777215 (25ビッ ト) や -33554432 から 33554431 (26ビット) になります。以下の例では、integer は 全て 24ビットであるとしています。 GNU Emacs Lisp の算術演算関数はオーバーフ ローのチェックを行なっていない点に注意する必要があります。このため、ハードウェ アによって (1 + 8388609) は -8388608 に等しいことがありえます。
1 ;integer 1 +1 ;これも integer 1 -1 ;integer -1 16777217 ;これも integer 1! 0 ;数字 0 -0 ;数字 0 1. ;誤まったシンタックス
以下に示す多くの関数は、マーカーもアーギュメントとして受け取ります(チャプタ ー28 [マーカー]、ページ 267 参照)。マーカーをアーギュメント( m-integer とさ れます) として用いた場合、マーカーの位置の値が用いられ、マーカーのバッファ は無視されます。 integer に対する(全ての)関数は、 integer と指定されている 場合を徐いてfloat に対しても機能します。