CLISP(1) Platform: x86_64-pc-linux-gnu CLISP(1)

clisp - کامپایلر، مفسر و اشکال‌زدای ANSI[38] Common Lisp[1].

clisp [[-h] | [--help]] [--version] [--license] [-help-image] [-B lisp-lib-dir] [-b] [-K linking-set] [-M mem-file] [-m memory-size] [-L language] [-N locale-dir] [-Edomain encoding] [[-q] | [--quiet] | [--silent] | [-v] | [--verbose]] [-on-error action] [-repl] [-w] [-I] [-disable-readline] [[-ansi] | [-traditional]] [-modern] [-p package] [-C] [-norc] [-lp directory...] [-i init-file...] [-c [-l] lisp-file [-o output-file]...] [-x expressions...] [lisp-file [argument...]]

مفسر و کامپایلر Common Lisp[1] را فراخوانی می‌کند.

هنگامی که بدون آرگومان‌های دسته‌ای (batch) فراخوانی شود، read-eval-print loop[2] (حلقه خواندن-ارزیابی-چاپ) را اجرا می‌کند که در آن عبارت‌ها به نوبت:

•از ورودی استاندارد خوانده (READ[3]) شده،
•توسط مفسر لیسپ ارزیابی (EVAL[4]) شده،
•و نتایج آن‌ها به خروجی استاندارد چاپ (PRINT[5]) می‌شوند.

هنگام فراخوانی با -c، فایل‌های lisp مشخص‌شده را به یک بایت‌کد مستقل از سکو کامپایل می‌کند که با کارایی بالاتری قابل اجرا است.

هنگام فراخوانی با -x، عبارت‌های lisp مشخص‌شده را اجرا می‌کند.

هنگام فراخوانی با lisp-file، فایل lisp مشخص‌شده را اجرا می‌کند.

حالت دسته‌ای گزینهٔ -q را فعال می‌کند.

-h
--help

پیام راهنمایی دربارهٔ نحوهٔ فراخوانی CLISP[6] را نمایش می‌دهد.

--version

شماره نسخهٔ CLISP[6] را همان‌طور که توسط تابع LISP-IMPLEMENTATION-VERSION[7] ارائه می‌شود، به همراه مقدار متغیر *FEATURES* و برخی اطلاعات دیگر نمایش می‌دهد.

--license

خلاصه‌ای از اطلاعات مجوز، یعنی GNU[8] GPL[9] را نمایش می‌دهد.

-help-image

اطلاعاتی دربارهٔ ایمیج حافظه در حال فراخوانی نمایش می‌دهد: اینکه آیا برای اسکریپت‌نویسی مناسب است یا خیر، و همچنین مقدار :DOCUMENTATION ارائه‌شده به EXT:SAVEINITMEM را نمایش می‌دهد.

-B lisp-lib-dir

دایرکتوری نصب را مشخص می‌کند. این دایرکتوری حاوی مجموعه‌های پیوند (linking sets) و دیگر فایل‌های داده است. این گزینه معمولاً ضروری نیست، زیرا دایرکتوری نصب از پیش در فایل اجرایی clisp تعبیه شده است. دایرکتوری lisp-lib-dir می‌تواند به‌طور پویا با استفاده از SYMBOL-MACRO[10] CUSTOM:*LIB-DIRECTORY* تغییر یابد.

-b

دایرکتوری نصب را چاپ کرده و بلافاصله خارج می‌شود. رشتهٔ نام (namestring) متغیر CUSTOM:*LIB-DIRECTORY* بدون هیچ گیومه‌ای چاپ می‌شود. این گزینه بیشتر در Makefileهای ماژول کاربرد دارد؛ برای نمونه ببینید: modules/syscalls/Makefile.in (فایلی در سورس‌کدهای CLISP).

-K linking-set

مجموعهٔ پیوند (linking set) را برای اجرا مشخص می‌کند. این یک دایرکتوری (نسبت به lisp-lib-dir) است که دست‌کم شامل یک فایل اجرایی اصلی (زمان‌اجرا یا runtime) و یک ایمیج حافظه اولیه است. مقادیر ممکن عبارتند از:

base

هستهٔ اصلی CLISP[6]

full

هسته به همراه تمام ماژول‌هایی که این نسخه با آن‌ها ساخته شده است؛ بخش 32.2، “External Modules” را ببینید.

مقدار پیش‌فرض base است.

-M mem-file

ایمیج حافظه اولیه را مشخص می‌کند. این باید یک حافظه‌گرفت (memory dump) تولیدشده توسط تابع EXT:SAVEINITMEM توسط همین زمان‌اجرای clisp باشد. این فایل ممکن است با استفاده از GNU[8] gzip[11] فشرده شده باشد.

-m memory-size

میزان حافظه‌ای را تعیین می‌کند که CLISP[6] در هنگام راه‌اندازی تلاش می‌کند دریافت کند. این مقدار ممکن است به صورت‌های زیر مشخص شود:

n
nB

اندازه‌گیری‌شده بر حسب بایت n
nW
اندازه‌گیری بر حسب کلمه‌های ماشین (4×n روی سکوهای ۳۲-بیتی، 8×n روی سکوهای ۶۴-بیتی)

nK
nKB

اندازه‌گیری بر حسب کیلوبایت

nKW

اندازه‌گیری بر حسب کیلوکلمه

nM
nMB

اندازه‌گیری بر حسب مگابایت

nMW

اندازه‌گیری بر حسب مگاکلمه

پیش‌فرض ۳ مگابایت است. مقدار آرگومان به بیشتر از 100 KB محدود شده است.

این نسخه از CLISP[6] در نهایت از تمام memory-size استفاده می‌کند.

-L language

زبانی را مشخص می‌کند که CLISP[6] برای ارتباط با کاربر استفاده می‌کند. این مقدار می‌تواند یکی از گزینه‌های english، german، french، spanish، dutch، russian یا danish باشد. زبان‌های دیگر را می‌توان از طریق متغیر محیطی[12] LANG مشخص کرد، به شرطی که کاتالوگ پیام متناظر با آن نصب شده باشد. زبان می‌تواند به صورت پویا با استفاده از SYMBOL-MACRO[10] CUSTOM:*CURRENT-LANGUAGE* تغییر داده شود.

-N locale-dir

دایرکتوری پایه‌ی پرونده‌های محلی‌سازی (locale) را مشخص می‌کند. CLISP[6] کاتالوگ‌های پیام خود را در locale-dir/language/LC_MESSAGES/clisp.mo جستجو خواهد کرد. این دایرکتوری می‌تواند به صورت پویا با استفاده از SYMBOL-MACRO[10] CUSTOM:*CURRENT-LANGUAGE* تغییر کند.

-Edomain encoding

کدگذاری مورد استفاده برای دامنه‌ی مشخص‌شده را تعیین می‌کند و پیش‌فرضی را که وابسته به متغیرهای محیطی[12] LC_ALL، LC_CTYPE و LANG است بازنویسی (override) می‌نماید. domain می‌تواند موارد زیر باشد:

file

بر CUSTOM:*DEFAULT-FILE-ENCODING* اثر می‌گذارد

pathname

بر CUSTOM:*PATHNAME-ENCODING* اثر می‌گذارد

terminal

بر CUSTOM:*TERMINAL-ENCODING* اثر می‌گذارد

foreign

بر CUSTOM:*FOREIGN-ENCODING* اثر می‌گذارد

misc

بر CUSTOM:*MISC-ENCODING* اثر می‌گذارد

blank

بر تمام موارد بالا اثر می‌گذارد.

هشدار
توجه داشته باشید که مقادیر این SYMBOL-MACRO[10]ها که در یک تصویر حافظه (memory image) ذخیره شده‌اند نادیده گرفته می‌شوند: این SYMBOL-MACRO[10]ها پس از بارگذاری تصویر حافظه، بر اساس محیط سیستم‌عامل بازنشانی می‌شوند. برای تعیین آن‌ها در هنگام راه‌اندازی باید از فایل RC، CUSTOM:*INIT-HOOKS* یا تابع راه‌اندازی (init function) استفاده کنید، اما برای سازگاری با سایر برنامه‌ها بهتر است متغیرهای محیطی[12] یادشده را به درستی تنظیم نمایید. بخش 31.1، “سفارشی‌سازی راه‌اندازی و خاتمه فرایند CLISP” را ببینید.

-q
--quiet
--silent
-v
--verbose

تغییر سطح پرگویی (verbosity): به طور پیش‌فرض، CLISP[6] هنگام راه‌اندازی یک اعلان و هنگام خروج یک پیام خداحافظی نمایش می‌دهد، و متغیرهای *LOAD-VERBOSE*[13] و *COMPILE-VERBOSE*[14] را به T[15]، و متغیرهای *LOAD-PRINT*[13] و *COMPILE-PRINT*[14] را طبق [استاندارد ANSI CL] به NIL[16] مقداردهی اولیه می‌کند. اولین -q اعلان و پیام خداحافظی را حذف می‌کند، دومی متغیرهای *LOAD-VERBOSE*[13]، *COMPILE-VERBOSE*[14] و CUSTOM:*SAVEINITMEM-VERBOSE* را به NIL[16] تنظیم می‌نماید. اولین -v متغیرهای CUSTOM:*REPORT-ERROR-PRINT-BACKTRACE*، *LOAD-PRINT*[13] و *COMPILE-PRINT*[14] را به T[15] تنظیم می‌کند، و دومی CUSTOM:*LOAD-ECHO* را برابر با T[15] قرار می‌دهد. این تنظیمات بر خروجی تولیدشده توسط گزینه‌های -i و -c اثر می‌گذارند. توجه داشته باشید که این تنظیمات در حلقه خواندن-ارزیابی-چاپ (read-eval-print loop)[2] نیز باقی می‌مانند. تکرار -q و -v اثر یکدیگر را خنثی می‌کنند؛ برای نمونه، -q -q -v -v -v معادل با -v است. -on-error action
برقراری گرداننده‌های سراسری خطا، بسته به action:.PP appease
خطاهای ERROR[18] از نوع continuable[17] (قابل‌ادامه) به WARNING[19] تبدیل می‌شوند (با EXT:APPEASE-CERRORS) و سایر ERROR[18]ها به روش پیش‌فرض مدیریت می‌شوند

debug

خطاهای ERROR[18] دستور INVOKE-DEBUGGER[20] را فراخوانی می‌کنند (رفتار معمول read-eval-print loop[2])، و حالت دسته‌ای (batch mode) اعمال‌شده توسط -c، -x و lisp-file را غیرفعال می‌کند،

abort

خطاهای ERROR[18] از نوع continuable[17] فرونشانده می‌شوند، سایر ERROR[18]ها با EXT:ABORT-ON-ERROR لغو ( ABORT[21] ) می‌شوند

exit

خطاهای ERROR[18] از نوع continuable[17] فرونشانده می‌شوند، سایر ERROR[18]ها به اجرای CLISP[6] با EXT:EXIT-ON-ERROR پایان می‌دهند (رفتار معمول batch mode).

همچنین نگاه کنید به EXT:SET-GLOBAL-HANDLER.

-repl

آغاز یک read-eval-print loop[2] تعاملی پس از پردازش گزینه‌های -c، -x و lisp-file و با بروز هر ERROR[18] که در حین این پردازش SIGNAL[22] شود.

حالت دسته‌ای (batch mode) را غیرفعال می‌کند.

-w

پس از اتمام برنامه، منتظر فشرده شدن یک کلید می‌ماند.

-I

تعامل بهتر با Emacs[23] (هنگام اجرای CLISP[6] تحت Emacs[23] با استفاده از SLIME[24]، ILISP[25] و غیره کاربرد دارد). با این گزینه، CLISP[6] به‌گونه‌ای تعامل می‌کند که Emacs[23] بتواند آن را پردازش کند:
•اعلان‌های (prompts) غیرضروری سرکوب نمی‌شوند.
•کتابخانه GNU[8] readline[26] با TAB (کلید TAB را ببینید) مانند یک نویسه عادی درج‌شونده رفتار می‌کند (بخش Q: A.4.6 را ببینید).

-disable-readline

عدم استفاده از GNU[8] readline[26] حتی در حالتی که با آن پیوند خورده باشد (linked). این گزینه زمانی قابل استفاده است که بخواهید نویسه‌های غیر-ASCII[27] را الصاق کنید، یا زمانی که GNU[8] readline[26] به دلیل مشکلات نصب (نسخه‌های متفاوت روی ماشین‌های ساخت و نصب) یا پیکربندی (مقدار نادرست متغیر محیطی[12] TERM) رفتار نامناسبی از خود نشان دهد.

-ansi

پیروی از مشخصات [ANSI CL standard] حتی در مواردی که CLISP[6] به‌طور سنتی متفاوت بوده است، از طریق تنظیم SYMBOL-MACRO[10] CUSTOM:*ANSI* روی T[15].

-traditional

سنتی: اثرات باقی‌مانده از -ansi را در تصویر حافظه (memory image) ذخیره‌شده برعکس می‌کند.

-modern

نمایی مدرن از نمادها ارائه می‌دهد: در زمان راه‌اندازی، متغیر *PACKAGE*[28] روی بسته “CS-COMMON-LISP-USER” تنظیم شده و *PRINT-CASE*[29] روی :DOWNCASE تنظیم خواهد شد. این امر موجب می‌شود که جستجوی نمادها حساس به حروف کوچک و بزرگ باشد (به‌جز کلمات کلیدی و بسته‌های سبک قدیمی) و کلمات کلیدی و نمادهای ثبت‌نشده با اولویت حروف کوچک چاپ شوند. بخش 11.5، “Package Case-Sensitivity” را ببینید.

-p package

در زمان راه‌اندازی، مقدار متغیر *PACKAGE*[28] روی بسته‌ای با نام package تنظیم خواهد شد. مقدار پیش‌فرض، مقدار *PACKAGE*[28] در زمان ذخیره تصویر حافظه است که معمولاً “COMMON-LISP-USER”[30] می‌باشد.

-C

کامپایل در زمان بارگذاری: در زمان راه‌اندازی، مقدار متغیر CUSTOM:*LOAD-COMPILING* روی T[15] تنظیم خواهد شد. سپس کدی که در حال LOAD[31] شدن است، بلافاصله و درجا (on the fly) COMPILE[32] می‌گردد. این امر به بارگذاری کندتر اما اجرای سریع‌تر منجر می‌شود.

-norc

به‌طور معمول CLISP[6] در هنگام راه‌اندازی، فایل “run control” (RC)[33] کاربر را بارگذاری می‌کند (این کار پس از پردازش گزینه -C انجام می‌شود). فایل بارگذاری‌شده، .clisprc.lisp یا .clisprc.fas در دایرکتوری خانگی USER-HOMEDIR-PATHNAME[34]، هر کدام که جدیدتر باشد خواهد بود. این گزینه، یعنی -norc، از بارگذاری فایل RC جلوگیری می‌کند. -lp directory
دایرکتوری‌هایی را برای افزوده شدن به CUSTOM:*LOAD-PATHS* در زمان راه‌اندازی مشخص می‌کند. این کار بعد از بارگذاری RC file انجام می‌شود (تا گزینهٔ خط فرمان را بازنویسی نکند)، اما قبل از بارگذاری init-fileهای تعیین‌شده توسط گزینه‌های -i صورت می‌پذیرد (تا فایل‌های راه‌اندازی در دایرکتوری‌های مشخص‌شده جستجو شوند). می‌توان چندین گزینهٔ -lp را تعیین کرد؛ تمام دایرکتوری‌های مشخص‌شده اضافه خواهند شد.

-i init-file

فایل‌های راه‌اندازی را مشخص می‌کند تا در زمان راه‌اندازی LOAD[31] شوند. این فایل‌ها باید فایل‌های lisp (کد منبع یا کامپایل‌شده) باشند. می‌توان چندین گزینهٔ -i را مشخص کرد؛ تمام فایل‌های تعیین‌شده به ترتیب بارگذاری خواهند شد.

-c lisp-file

lisp-fileهای مشخص‌شده را به bytecode (*.fas) کامپایل می‌کند. فایل‌های کامپایل‌شده می‌توانند بعداً برای افزایش کارایی، به جای فایل‌های منبع LOAD[31] شوند.

حالت دسته‌ای (batch mode) را تحمیل می‌کند.

-o outputfile

فایل یا دایرکتوری خروجی را برای کامپایل آخرین lisp-file مشخص‌شده تعیین می‌کند.

-l

یک فهرست دیس‌اسمبل از bytecode DISASSEMBLE[35] از فایل‌های در حال کامپایل (*.lis) تولید می‌کند. تنها برای اشکال‌زدایی مفید است. برای جزئیات، Section 24.1, “Function COMPILE-FILE” را ببینید.

-x expressions

به جای یک read-eval-print loop[2] مجموعه‌ای از عبارت‌های دلخواه را اجرا می‌کند. مقادیر این عبارت‌ها به *STANDARD-OUTPUT*[36] ارسال خواهند شد. به دلیل پردازش آرگومان‌ها توسط پوسته (shell)، expressions باید درون گیومه دوتایی (double quotes) قرار گیرند، و گیومه‌های دوتایی و بک‌اسلش‌ها باید با بک‌اسلش گریز (escape) داده شوند.

حالت دسته‌ای (batch mode) را تحمیل می‌کند.

lisp-file [ argument ... ]

یک lisp-file را همان‌طور که در Section 32.6.2, “Scripting with CLISP” توضیح داده شده است، بارگذاری و اجرا می‌کند. هیچ read-eval-print loop[2] وجود نخواهد داشت. پیش از بارگذاری lisp-file، متغیر EXT:*ARGS* به فهرستی از رشته‌ها مقید می‌شود که نمایانگر argumentها هستند. خط اول lisp-file می‌تواند با #! شروع شود، بنابراین به CLISP[6] امکان می‌دهد تا به عنوان مفسر اسکریپت استفاده شود. اگر lisp-file برابر - باشد، به جای فایل از *STANDARD-INPUT*[36] استفاده می‌شود.

اگر memory image توسط EXT:SAVEINITMEM با آرگومان :SCRIPT برابر با NIL[16] ایجاد شده باشد، این گزینه غیرفعال است. در این صورت LIST[37] EXT:*ARGS* با lisp-file آغاز می‌شود.

این گزینه باید آخرین گزینه باشد.

هیچ RC file اجرا نخواهد شد.

حالت دسته‌ای (batch mode) را تحمیل می‌کند.

طبق معمول، -- پردازش گزینه‌ها را متوقف کرده و تمام آرگومان‌های باقیمانده خط فرمان را در EXT:*ARGS* قرار می‌دهد.

زبان پیاده‌سازی‌شده ANSI[39][38] Common Lisp[1] است. این پیاده‌سازی عمدتاً با استاندارد ANSI Common Lisp مطابقت دارد؛ Section 31.10, “Maximum ANSI CL compliance” را ببینید. [ANSI CL] ANSI CL standard1994. ANSI[40] INCITS 226-1994 (R1999)
Information Technology - Programming Language - Common Lisp
[formerly ANSI X3.226-1994 (R1999)]..SH "محیط کاربری خط فرمان (COMMAND LINE USER ENVIRONMENT)"

help

دریافت راهنمای برخط حساس به زمینه؛ Chapter 25, Environment chap-25 را ببینید.

(APROPOS name)

فهرست کردن SYMBOL[41]های منطبق با name.

(DESCRIBE symbol)

توصیف symbol.

(exit)
(quit)
(bye)

خروج از CLISP[6].

EOF (Control+D در UNIX[42])

خروج از سطح جاریِ read-eval-print loop[2] (همچنین ببینید: Section 1.1, “Special Symbols sec_1-4-1-3”).

arrow keys

برای ویرایش و مشاهده تاریخچه ورودی، با استفاده از کتابخانه GNU[8] readline[26].

TAB key

وابسته به زمینه (Context sensitive):
•اگر در “موقعیت تابع” باشید (در نخستین نماد پس از یک پرانتز باز، یا در نخستین نماد پس از یک #'[44])، تکمیل خودکار به نمادهایی که نام تابع هستند محدود می‌شود.
•اگر در "موقعیت نام فایل" (درون یک رشته پس از #P[45]) باشید، تکمیل روی نام فایل‌ها و به شیوه GNU[8] bash[46] انجام می‌پذیرد.
•اگر هنوز چیزی تایپ نکرده باشید، یک پیام راهنما دریافت خواهید کرد، درست مانند اجرای دستور help.
•اگر هنوز تایپ نماد بعدی را آغاز نکرده باشید (یعنی در یک نویسه فاصله خالی باشید)، تابع یا ماکروی فعلی DESCRIBE می‌شود.
•در غیر این صورت، نمادی که در حال حاضر تایپ می‌کنید تکمیل می‌شود.

Common Lisp[1] یک زبان برنامه‌نویسی برنامه‌پذیر است. —John Foderaro[47]

هنگامی که CLISP[6] فراخوانی می‌شود، محیط زمان اجرا (runtime) ایمیج حافظه اولیه (initial memory image) را بارگذاری کرده و اعلان (prompt) را نمایش می‌دهد؛ جایی که در آن می‌توان نوشتن DEFVAR[48]ها، DEFUN[49]ها و DEFMACRO[50]ها را آغاز کرد.

برای جلوگیری از نیاز به وارد کردن مجدد و دستی تعاریف یکسان در هر نشست، می‌توان یک فایل lisp شامل تمام متغیرها، توابع، ماکروها و غیره ایجاد کرد؛ (در صورت تمایل) آن را با COMPILE-FILE[51] کامپایل نمود؛ و با LOAD[31] آن را دستی یا از طریق فایل RC بارگذاری کرد؛ یا یک ایمیج حافظه را ذخیره کرد تا از سربار LOAD[31] جلوگیری شود.

با این حال، گاهی لازم است از قابلیت‌های پیاده‌سازی‌شده در زبانی دیگر استفاده شود؛ مثلاً فراخوانی یک تابع از کتابخانه C[52]. برای این منظور، از امکانات «رابط توابع خارجی» (Foreign Function Interface) و/یا «ماژول‌های خارجی» (External Modules) استفاده می‌شود. در نهایت، افراد واقعاً ماجراجو می‌توانند به بخش «گسترش هسته» (Extending the Core) ورود کنند..SH "فایل‌ها (FILES)"

clisp
clisp.exe

راه‌انداز آغازین (یک فایل اجرایی یا، به‌ندرت، یک اسکریپت پوسته) که مکان runtime را به خاطر می‌سپارد و آن را با آرگومان‌های مناسب آغاز می‌کند.

lisp.run
lisp.exe

فایل اجرایی اصلی (runtime) - بخشی از CLISP[6] پیاده‌سازی‌شده در C[52].

lispinit.mem

تصویر حافظه (memory image) اولیه (بخشی از CLISP[6] پیاده‌سازی‌شده در lisp)

config.lisp

پیکربندی وابسته به سایت (باید پیش از ساخت CLISP[6] سفارشی‌سازی شده باشد)؛ ببینید: بخش 31.12، “Customizing CLISP behavior”

*.lisp

کد منبع lisp

*.fas

کد lisp، کامپایل‌شده توسط CLISP[6]

*.lib

اطلاعات کتابخانه منبع lisp، تولیدشده توسط COMPILE-FILE، ببینید: بخش 24.3، “Function REQUIRE”.

*.c

کد C، کامپایل‌شده از کد منبع lisp توسط CLISP[6] (ببینید: بخش 32.3، “The Foreign Function Call Facility”)

برای فایل‌های منبع CLISP[6]، ببینید: فصل 34، The source files of CLISP.

همهٔ متغیرهای محیطی[12] که CLISP[6] استفاده می‌کند حداکثر یک‌بار خوانده می‌شوند.

CLISP_LANGUAGE

زبانی را مشخص می‌کند که CLISP[6] برای برقراری ارتباط با کاربر به کار می‌برد. مقادیر معتبر همانند مقادیر گزینهٔ -L است که می‌تواند برای بازنویسی این متغیر محیطی[12] استفاده شود.

LC_CTYPE

تنظیمات محلی (locale) را مشخص می‌کند که مجموعه نویسهٔ مورد استفاده را تعیین می‌نماید. مقدار می‌تواند به فرم language یا language_country یا language_country.charset باشد، که در آن language یک کد زبان دوحرفی ISO 639 (حروف کوچک) و country یک کد کشور دوحرفی ISO 3166 (حروف بزرگ) است. charset یک مشخصهٔ اختیاری مجموعه نویسه است و معمولاً نیازی به مشخص کردن آن نیست چون مجموعه نویسه را می‌توان از زبان و کشور استنتاج کرد. این متغیر محیطی[12] را می‌توان با گزینهٔ -Edomain encoding بازنویسی کرد.

LANG

زبانی را مشخص می‌کند که CLISP[6] برای ارتباط با کاربر استفاده می‌کند، مگر اینکه قبلاً از طریق متغیر محیطی[12] CLISP_LANGUAGE یا گزینهٔ -L مشخص شده باشد. همچنین تنظیمات محلی تعیین‌کنندهٔ مجموعه نویسهٔ مورد استفاده را مشخص می‌کند، مگر اینکه از قبل توسط متغیر محیطی[12] LC_CTYPE تعیین شده باشد. مقدار ممکن است با یک کد زبان دوحرفی ISO 639 آغاز شود، به عنوان مثال en، de، fr.

HOME
USER

برای تعیین مقدار تابع USER-HOMEDIR-PATHNAME[34] استفاده می‌شود.

SHELL
COMSPEC

برای یافتن مفسر دستور تعاملی فراخوانی‌شده توسط EXT:SHELL استفاده می‌شود.

TERM

اندازهٔ صفحه‌نمایش قابل تشخیص توسط pretty printer را تعیین می‌کند.

ORGANIZATION

برای SHORT-SITE-NAME[53] و LONG-SITE-NAME[53] در config.lisp.

CLHSROOT

برای CUSTOM:CLHS-ROOT در config.lisp.

IMPNOTES

برای CUSTOM:IMPNOTES-ROOT در config.lisp.

EDITOR

برای editor-name در config.lisp.

LOGICAL_HOST_host_FROM
LOGICAL_HOST_host_TO
LOGICAL_HOST_host

برای CUSTOM:*LOAD-LOGICAL-PATHNAME-TRANSLATIONS-DATABASE*

بخش 21.1.1، “Initialization of Standard Streams” را ببینید.

CLISP impnotes
clisp-link(1)
CMU CL[54] - cmucl(1)
SBCL[55] - sbcl(1)
Emacs[23] - emacs(1)

هنگامی که با باگی در CLISP[6] یا در مستندات آن (این صفحه راهنما یا CLISP impnotes) مواجه شدید، لطفاً آن را به SourceForge bug tracker[56] مربوط به CLISP[6] گزارش دهید. یا به حساب کاربری خود در SourceForge[57] یا به حساب OpenID[58] خود وارد شوید. سپس روی پیوند "Create Ticket" در سمت چپ کلیک کنید.

پیش از ارسال گزارش باگ، لطفاً مراحل ابتدایی زیر را برای مفیدتر شدن گزارش انجام دهید:

1.مگر در مواردی که باگ شما وابسته به محلی‌سازی (locale) خاصی باشد، لطفاً locale خود را روی en تنظیم کنید. شما نمی‌توانید فرض کنید که نگه‌دارندگان CLISP[6] زبانی غیر از English[59] را متوجه می‌شوند، حتی با اینکه از نظر تاریخی، نگه‌دارندگان اندکی از CLISP[6] زبان مادری‌شان انگلیسی بوده است.
2.یک ساخت پاکیزه (clean build) انجام دهید (دایرکتوری ساخت خود را حذف کرده و CLISP[6] را با ./configure --cbcx build بسازید، یا دست‌کم پیش از make دستور make distclean را اجرا کنید).
3.اگر یک “فروپاشی سخت (hard crash)” (مانند segmentation fault، bus error، core dump و غیره) را گزارش می‌کنید، لطفاً دستور ./configure --with-debug --cbcx build-g ; cd build-g; gdb lisp.run را اجرا کرده، سپس مجموعه پیونددهی (linking set) مناسب را با دستور base یا full در gdb[60] بارگذاری کنید، و ردگیری پشته (backtrace) را گزارش دهید (همچنین ببینید Q: A.1.1.10).
4.اگر از باینری‌های پیش‌ساخته استفاده می‌کنید و دچار یک فروپاشی سخت می‌شوید، مشکل احتمالاً ناشی از ناسازگاری‌های میان پلتفرمی است که باینری روی آن ساخته شده با پلتفرم شما؛ لطفاً سورس‌ها را کامپایل کنید و اگر مشکل همچنان پابرجا بود آن را گزارش دهید.

هنگام ارسال گزارش باگ، لطفاً اطلاعات زیر را مشخص کنید:

1.پلتفرم شما چیست (uname -a روی یک سیستم UNIX[42])\[u061F]
2.لطفاً خروجی کامل (کپی و پیست شده) تمامی پیام‌های خطا را ارائه دهید.
3.لطفاً دستورالعمل‌های دقیقی درباره نحوه بازتولید مشکل ارائه دهید.
4.سورس‌ها یا باینری‌های CLISP[6] را از کجا دریافت کرده‌اید؟ چه زمانی؟ (تاریخ‌های مطلق، مانند “2006-01-17”، نسبت به تاریخ‌های نسبی، مانند “2 days ago” ترجیح داده می‌شوند. اگر از Git[61] استفاده می‌کنید، لطفاً خروجی git rev-list --max-count=1 HEAD را ارائه دهید).
5.اگر شکست در ساخت را گزارش می‌کنید:
1.نسخه کامپایلر شما چیست؟
2.نسخه GNU[8] libc[62] شما (روی GNU[8]/Linux[63]) چیست؟
3.نسخه هر یک از DEPENDENCIES (فایل موجود در کدهای منبع CLISP) چیست؟
4.چگونه configure (فایل موجود در کدهای منبع CLISP) را اجرا کردید؟ ما به گزینه‌هایی که استفاده کرده‌اید و همچنین مقادیر متغیرهای محیطی[12] زیر نیاز داریم:
CC
CFLAGS
CPPFLAGS
LDFLAFS
LD_LIBRARY_PATH
.
5.لطفاً تمام گزارش‌های ساخت (build logs) را ضمیمه کنید.
6.اگر یک نسخهٔ در حال کار از CLISP[6] دارید، لطفاً خروجی clisp --version را ارائه دهید.

•بهبود کامپایلر به‌گونه‌ای که بتواند توابع محلی را درون‌خطی (inline) کند.
•تعبیهٔ CLISP[6] در VIM[64].

Bruno Haible http://www.haible.de/bruno

نویسنده اصلی و نگه‌دارنده دیرینه.

Michael Stoll http://www.mathe2.uni-bayreuth.de/stoll

نویسنده اصلی.

Sam Steingold http://sds.podval.org

هم‌نگه‌دارنده از سال 1998.

Others

برای مشاهده فهرست سایر مشارکت‌کنندگان و مجوز، COPYRIGHT (فایل موجود در کدهای منبع CLISP) را ببینید.

Copyright © 1992-2010 Bruno Haible
Copyright © 1998-2010 Sam Steingold

1.
Common Lisp
2.
read-eval-print loop
[set $man.base.url.for.relative.links]/sec_25-1-1
3.
READ
4.
EVAL
5.
PRINT
6.
CLISP
7.
LISP-IMPLEMENTATION-VERSION
8.
GNU
9.
GPL
10.
SYMBOL-MACRO
[set $man.base.url.for.relative.links]/mac_define-symbol-macro
11.
gzip
12.
environment variable
[set $man.base.url.for.relative.links]/basedefs/V1_chap08.html
13.
*LOAD-VERBOSE*
14.
*COMPILE-VERBOSE*
15.
T
16.
NIL
17.
continuable
[set $man.base.url.for.relative.links]/clhs/glo
18.
ERROR
http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/contyp_error.html WARNING
20.
INVOKE-DEBUGGER
21.
ABORT
22.
SIGNAL
23.
Emacs
24.
SLIME
25.
ILISP
26.
readline
27.
ASCII
28.
*PACKAGE*
29.
*PRINT-CASE*
30.
“COMMON-LISP-USER”
[set $man.base.url.for.relative.links]/sec_11-1-2-2
31.
LOAD
32.
COMPILE
33.
“run control” (RC)
34.
USER-HOMEDIR-PATHNAME
35.
DISASSEMBLE
36.
*STANDARD-OUTPUT*
37.
LIST
38.
ANSI
39.
مؤسسه ملی استاندارد آمریکا
40.
ANSI
41.
SYMBOL
42.
UNIX
43.
Win32
44.
#'
[set $man.base.url.for.relative.links]/sec_2-4-8-2
45.
#P
[set $man.base.url.for.relative.links]/sec_2-4-8-14
46.
bash
47.
جان فودرارو (John Foderaro)
48.
DEFVAR
49.
DEFUN
50.
DEFMACRO
51.
COMPILE-FILE
52.
C
53.
SHORT-SITE-NAME
54.
CMU CL
55.
SBCL
56.
ردیاب باگ SourceForge
57.
SourceForge
58.
OpenID
59.
انگلیسی
Last modified: 2020-06-22 CLISP 2.49.93+