'\" t .\" Title: clisp .\" Author: Bruno Haible <\m[blue]\fB\%http://www.haible.de/bruno\fR\m[]> .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: Last modified: 2020-06-22 .\" Manual: Platform: x86_64-pc-linux-gnu .\" Source: CLISP 2.49.93+ .\" Language: Persian .\" .TH "CLISP" "1" "Last modified: 2020\-06\-22" "CLISP 2.49.93+" "Platform: x86_64-pc-linux-gnu" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" clisp \- کامپایلر، مفسر و اشکال‌زدای \m[blue]\fBANSI\fR\m[]\&\s-2\u[38]\d\s+2 \m[blue]\fB\fBCommon Lisp\fR\fR\m[]\&\s-2\u[1]\d\s+2\&. .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBclisp\fR\ 'u \fBclisp\fR [[\fB\-h\fR] | [\fB\-\-help\fR]] [\fB\-\-version\fR] [\fB\-\-license\fR] [\fB\-help\-image\fR] [\fB\-B\ \fIlisp\-lib\-dir\fR\fR] [\fB\-b\fR] [\fB\-K\ \fIlinking\-set\fR\fR] [\fB\-M\ \fImem\-file\fR\fR] [\fB\-m\ \fImemory\-size\fR\fR] [\fB\-L\ \fIlanguage\fR\fR] [\fB\-N\ \fIlocale\-dir\fR\fR] [\fB\-E\fIdomain\fR\ \fIencoding\fR\fR] [[\fB\-q\fR] | [\fB\-\-quiet\fR] | [\fB\-\-silent\fR] | [\fB\-v\fR] | [\fB\-\-verbose\fR]] [\fB\-on\-error\ \fIaction\fR\fR] [\fB\-repl\fR] [\fB\-w\fR] [\fB\-I\fR] [\fB\-disable\-readline\fR] [[\fB\-ansi\fR] | [\fB\-traditional\fR]] [\fB\-modern\fR] [\fB\-p\ \fIpackage\fR\fR] [\fB\-C\fR] [\fB\-norc\fR] [\fB\-lp\ \fIdirectory\fR\fR...] [\fB\-i\ \fIinit\-file\fR\fR...] [\fB\-c\fR\ [\fB\-l\fR]\ \fIlisp\-file\fR\ [\fB\-o\fR\fB\ \fR\fB\fIoutput\-file\fR\fR]...] [\fB\-x\ \fIexpressions\fR\fR...] [\fB\fIlisp\-file\fR\fR\ [\fB\fIargument\fR\fR...]] .SH "توضیحات (DESCRIPTION)" .PP مفسر و کامپایلر \m[blue]\fB\fBCommon Lisp\fR\fR\m[]\&\s-2\u[1]\d\s+2 را فراخوانی می‌کند\&. .SS "حالت تعاملی (Interactive Mode)" .PP هنگامی که بدون آرگومان‌های دسته‌ای (batch) فراخوانی شود، \m[blue]\fBread\-eval\-print loop\fR\m[]\&\s-2\u[2]\d\s+2 (حلقه خواندن\-ارزیابی\-چاپ) را اجرا می‌کند که در آن عبارت‌ها به نوبت: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} از ورودی استاندارد خوانده (\m[blue]\fB\fBREAD\fR\fR\m[]\&\s-2\u[3]\d\s+2) شده، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} توسط مفسر لیسپ ارزیابی (\m[blue]\fB\fBEVAL\fR\fR\m[]\&\s-2\u[4]\d\s+2) شده، .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} و نتایج آن‌ها به خروجی استاندارد چاپ (\m[blue]\fB\fBPRINT\fR\fR\m[]\&\s-2\u[5]\d\s+2) می‌شوند\&. .RE .SS "حالت غیرتعاملی یا دسته‌ای (Non\-Interactive (Batch) Mode)" .PP هنگام فراخوانی با \fB\-c\fR، فایل‌های lisp مشخص‌شده را به یک بایت‌کد مستقل از سکو کامپایل می‌کند که با کارایی بالاتری قابل اجرا است\&. .PP هنگام فراخوانی با \fB\-x\fR، عبارت‌های lisp مشخص‌شده را اجرا می‌کند\&. .PP هنگام فراخوانی با \fB\fIlisp\-file\fR\fR، فایل lisp مشخص‌شده را اجرا می‌کند\&. .PP حالت دسته‌ای گزینهٔ \fB\-q\fR را فعال می‌کند\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-h\fR .br \fB\-\-help\fR .RS 4 پیام راهنمایی دربارهٔ نحوهٔ فراخوانی \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 را نمایش می‌دهد\&. .RE .PP \fB\-\-version\fR .RS 4 شماره نسخهٔ \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 را همان‌طور که توسط تابع \m[blue]\fB\fBLISP\-IMPLEMENTATION\-VERSION\fR\fR\m[]\&\s-2\u[7]\d\s+2 ارائه می‌شود، به همراه مقدار متغیر \fI*FEATURES*\fR و برخی اطلاعات دیگر نمایش می‌دهد\&. .RE .PP \fB\-\-license\fR .RS 4 خلاصه‌ای از اطلاعات مجوز، یعنی \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fBGPL\fR\m[]\&\s-2\u[9]\d\s+2 را نمایش می‌دهد\&. .RE .PP \fB\-help\-image\fR .RS 4 اطلاعاتی دربارهٔ ایمیج حافظه در حال فراخوانی نمایش می‌دهد: اینکه آیا برای اسکریپت‌نویسی مناسب است یا خیر، و همچنین مقدار \fB:DOCUMENTATION\fR ارائه‌شده به \fBEXT:SAVEINITMEM\fR را نمایش می‌دهد\&. .RE .PP \fB\-B\fR \fIlisp\-lib\-dir\fR .RS 4 دایرکتوری نصب را مشخص می‌کند\&. این دایرکتوری حاوی مجموعه‌های پیوند (linking sets) و دیگر فایل‌های داده است\&. این گزینه معمولاً ضروری نیست، زیرا دایرکتوری نصب از پیش در فایل اجرایی \fBclisp\fR تعبیه شده است\&. دایرکتوری \fIlisp\-lib\-dir\fR می‌تواند به‌طور پویا با استفاده از \m[blue]\fBSYMBOL\-MACRO\fR\m[]\&\s-2\u[10]\d\s+2 \fICUSTOM:*LIB\-DIRECTORY*\fR تغییر یابد\&. .RE .PP \fB\-b\fR .RS 4 دایرکتوری نصب را چاپ کرده و بلافاصله خارج می‌شود\&. رشتهٔ نام (namestring) متغیر \fICUSTOM:*LIB\-DIRECTORY*\fR بدون هیچ گیومه‌ای چاپ می‌شود\&. این گزینه بیشتر در Makefileهای ماژول کاربرد دارد؛ برای نمونه ببینید: modules/syscalls/Makefile\&.in (فایلی در سورس‌کدهای CLISP)\&. .RE .PP \fB\-K\fR \fIlinking\-set\fR .RS 4 مجموعهٔ پیوند (linking set) را برای اجرا مشخص می‌کند\&. این یک دایرکتوری (نسبت به \fIlisp\-lib\-dir\fR) است که دست‌کم شامل یک فایل اجرایی اصلی (زمان‌اجرا یا runtime) و یک ایمیج حافظه اولیه است\&. مقادیر ممکن عبارتند از: .PP \fBbase\fR .RS 4 هستهٔ اصلی \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 .RE .PP \fBfull\fR .RS 4 هسته به همراه تمام ماژول‌هایی که این نسخه با آن‌ها ساخته شده است؛ بخش\ \&32.2، \(lqExternal Modules\(rq را ببینید\&. .RE .sp مقدار پیش‌فرض \fBbase\fR است\&. .RE .PP \fB\-M\fR \fImem\-file\fR .RS 4 ایمیج حافظه اولیه را مشخص می‌کند\&. این باید یک حافظه‌گرفت (memory dump) تولیدشده توسط تابع \fBEXT:SAVEINITMEM\fR توسط همین زمان‌اجرای \fBclisp\fR باشد\&. این فایل ممکن است با استفاده از \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fB\fBgzip\fR\fR\m[]\&\s-2\u[11]\d\s+2 فشرده شده باشد\&. .PP \fB\-m\fR \fImemory\-size\fR .RS 4 میزان حافظه‌ای را تعیین می‌کند که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 در هنگام راه‌اندازی تلاش می‌کند دریافت کند\&. این مقدار ممکن است به صورت‌های زیر مشخص شود: .PP \fIn\fR .br \fIn\fR\fBB\fR .RS 4 اندازه‌گیری‌شده بر حسب بایت .RE.PP \fIn\fR .br \fIn\fR\fBW\fR .RS 4 اندازه‌گیری بر حسب کلمه‌های ماشین (4\(mu\fIn\fR روی سکوهای ۳۲\-بیتی، 8\(mu\fIn\fR روی سکوهای ۶۴\-بیتی) .RE .PP \fIn\fR\fBK\fR .br \fIn\fR\fBKB\fR .RS 4 اندازه‌گیری بر حسب کیلوبایت .RE .PP \fIn\fR\fBKW\fR .RS 4 اندازه‌گیری بر حسب کیلوکلمه .RE .PP \fIn\fR\fBM\fR .br \fIn\fR\fBMB\fR .RS 4 اندازه‌گیری بر حسب مگابایت .RE .PP \fIn\fR\fBMW\fR .RS 4 اندازه‌گیری بر حسب مگاکلمه .RE .sp پیش‌فرض ۳ مگابایت است\&. مقدار آرگومان به بیشتر از 100 KB محدود شده است\&. .sp این نسخه از \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 در نهایت از تمام \fImemory\-size\fR استفاده می‌کند\&. .RE .PP \fB\-L\fR \fIlanguage\fR .RS 4 زبانی را مشخص می‌کند که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 برای ارتباط با کاربر استفاده می‌کند\&. این مقدار می‌تواند یکی از گزینه‌های \fBenglish\fR، \fBgerman\fR، \fBfrench\fR، \fBspanish\fR، \fBdutch\fR، \fBrussian\fR یا \fBdanish\fR باشد\&. زبان‌های دیگر را می‌توان از طریق \m[blue]\fBمتغیر محیطی\fR\m[]\&\s-2\u[12]\d\s+2 \fBLANG\fR مشخص کرد، به شرطی که کاتالوگ پیام متناظر با آن نصب شده باشد\&. زبان می‌تواند به صورت پویا با استفاده از \m[blue]\fBSYMBOL\-MACRO\fR\m[]\&\s-2\u[10]\d\s+2 \fICUSTOM:*CURRENT\-LANGUAGE*\fR تغییر داده شود\&. .RE .PP \fB\-N\fR \fIlocale\-dir\fR .RS 4 دایرکتوری پایه‌ی پرونده‌های محلی‌سازی (locale) را مشخص می‌کند\&. \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 کاتالوگ‌های پیام خود را در \fIlocale\-dir\fR/\fIlanguage\fR/LC_MESSAGES/clisp\&.mo جستجو خواهد کرد\&. این دایرکتوری می‌تواند به صورت پویا با استفاده از \m[blue]\fBSYMBOL\-MACRO\fR\m[]\&\s-2\u[10]\d\s+2 \fICUSTOM:*CURRENT\-LANGUAGE*\fR تغییر کند\&. .RE .PP \fB\-E\fR\fB\fIdomain\fR\fR\fB \fR\fB\fIencoding\fR\fR .RS 4 کدگذاری مورد استفاده برای دامنه‌ی مشخص‌شده را تعیین می‌کند و پیش‌فرضی را که وابسته به \m[blue]\fBمتغیرهای محیطی\fR\m[]\&\s-2\u[12]\d\s+2 \fBLC_ALL\fR، \fBLC_CTYPE\fR و \fBLANG\fR است بازنویسی (override) می‌نماید\&. \fIdomain\fR می‌تواند موارد زیر باشد: .PP \fBfile\fR .RS 4 بر \fICUSTOM:*DEFAULT\-FILE\-ENCODING*\fR اثر می‌گذارد .RE .PP \fBpathname\fR .RS 4 بر \fICUSTOM:*PATHNAME\-ENCODING*\fR اثر می‌گذارد .RE .PP \fBterminal\fR .RS 4 بر \fICUSTOM:*TERMINAL\-ENCODING*\fR اثر می‌گذارد .RE .PP \fBforeign\fR .RS 4 بر \fICUSTOM:*FOREIGN\-ENCODING*\fR اثر می‌گذارد .RE .PP \fBmisc\fR .RS 4 بر \fICUSTOM:*MISC\-ENCODING*\fR اثر می‌گذارد .RE .PP \fIblank\fR .RS 4 بر تمام موارد بالا اثر می‌گذارد\&. .RE .sp .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBهشدار\fR .ps -1 .br توجه داشته باشید که مقادیر این \m[blue]\fBSYMBOL\-MACRO\fR\m[]\&\s-2\u[10]\d\s+2ها که در یک تصویر حافظه (memory image) ذخیره شده‌اند نادیده گرفته می‌شوند: این \m[blue]\fBSYMBOL\-MACRO\fR\m[]\&\s-2\u[10]\d\s+2ها \fBپس از\fR بارگذاری تصویر حافظه، بر اساس محیط سیستم‌عامل بازنشانی می‌شوند\&. برای تعیین آن‌ها در هنگام راه‌اندازی باید از فایل RC، \fICUSTOM:*INIT\-HOOKS*\fR یا تابع راه‌اندازی (init function) استفاده کنید، اما برای سازگاری با سایر برنامه‌ها بهتر است \m[blue]\fBمتغیرهای محیطی\fR\m[]\&\s-2\u[12]\d\s+2 یادشده را به درستی تنظیم نمایید\&. بخش\ \&31.1، \(lqسفارشی‌سازی راه‌اندازی و خاتمه فرایند CLISP\(rq را ببینید\&. .sp .5v .RE .RE .PP \fB\-q\fR .br \fB\-\-quiet\fR .br \fB\-\-silent\fR .br \fB\-v\fR .br \fB\-\-verbose\fR .RS 4 تغییر سطح پرگویی (verbosity): به طور پیش‌فرض، \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 هنگام راه‌اندازی یک اعلان و هنگام خروج یک پیام خداحافظی نمایش می‌دهد، و متغیرهای \m[blue]\fB\fI*LOAD\-VERBOSE*\fR\fR\m[]\&\s-2\u[13]\d\s+2 و \m[blue]\fB\fI*COMPILE\-VERBOSE*\fR\fR\m[]\&\s-2\u[14]\d\s+2 را به \m[blue]\fB\fBT\fR\fR\m[]\&\s-2\u[15]\d\s+2، و متغیرهای \m[blue]\fB\fI*LOAD\-PRINT*\fR\fR\m[]\&\s-2\u[13]\d\s+2 و \m[blue]\fB\fI*COMPILE\-PRINT*\fR\fR\m[]\&\s-2\u[14]\d\s+2 را طبق [استاندارد ANSI CL] به \m[blue]\fB\fBNIL\fR\fR\m[]\&\s-2\u[16]\d\s+2 مقداردهی اولیه می‌کند\&. اولین \fB\-q\fR اعلان و پیام خداحافظی را حذف می‌کند، دومی متغیرهای \m[blue]\fB\fI*LOAD\-VERBOSE*\fR\fR\m[]\&\s-2\u[13]\d\s+2، \m[blue]\fB\fI*COMPILE\-VERBOSE*\fR\fR\m[]\&\s-2\u[14]\d\s+2 و \fICUSTOM:*SAVEINITMEM\-VERBOSE*\fR را به \m[blue]\fB\fBNIL\fR\fR\m[]\&\s-2\u[16]\d\s+2 تنظیم می‌نماید\&. اولین \fB\-v\fR متغیرهای \fICUSTOM:*REPORT\-ERROR\-PRINT\-BACKTRACE*\fR، \m[blue]\fB\fI*LOAD\-PRINT*\fR\fR\m[]\&\s-2\u[13]\d\s+2 و \m[blue]\fB\fI*COMPILE\-PRINT*\fR\fR\m[]\&\s-2\u[14]\d\s+2 را به \m[blue]\fB\fBT\fR\fR\m[]\&\s-2\u[15]\d\s+2 تنظیم می‌کند، و دومی \fICUSTOM:*LOAD\-ECHO*\fR را برابر با \m[blue]\fB\fBT\fR\fR\m[]\&\s-2\u[15]\d\s+2 قرار می‌دهد\&. این تنظیمات بر خروجی تولیدشده توسط گزینه‌های \fB\-i\fR و \fB\-c\fR اثر می‌گذارند\&. توجه داشته باشید که این تنظیمات در \m[blue]\fBحلقه خواندن\-ارزیابی\-چاپ (read\-eval\-print loop)\fR\m[]\&\s-2\u[2]\d\s+2 نیز باقی می‌مانند\&. تکرار \fB\-q\fR و \fB\-v\fR اثر یکدیگر را خنثی می‌کنند؛ برای نمونه، \fB\-q \-q \-v \-v \-v\fR معادل با \fB\-v\fR است\&. .RE.PP \fB\-on\-error\fR \fIaction\fR .RS 4 برقراری گرداننده‌های سراسری خطا، بسته به \fIaction\fR:.PP appease .RS 4 خطاهای \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2 از نوع \m[blue]\fBcontinuable\fR\m[]\&\s-2\u[17]\d\s+2 (قابل‌ادامه) به \m[blue]\fBWARNING\fR\m[]\&\s-2\u[19]\d\s+2 تبدیل می‌شوند (با \fBEXT:APPEASE\-CERRORS\fR) و سایر \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2ها به روش پیش‌فرض مدیریت می‌شوند .RE .PP debug .RS 4 خطاهای \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2 دستور \m[blue]\fB\fBINVOKE\-DEBUGGER\fR\fR\m[]\&\s-2\u[20]\d\s+2 را فراخوانی می‌کنند (رفتار معمول \m[blue]\fBread\-eval\-print loop\fR\m[]\&\s-2\u[2]\d\s+2)، و حالت دسته‌ای (batch mode) اعمال‌شده توسط \fB\-c\fR، \fB\-x\fR و \fB\fIlisp\-file\fR\fR را غیرفعال می‌کند، .RE .PP abort .RS 4 خطاهای \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2 از نوع \m[blue]\fBcontinuable\fR\m[]\&\s-2\u[17]\d\s+2 فرونشانده می‌شوند، سایر \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2ها با \fBEXT:ABORT\-ON\-ERROR\fR لغو ( \m[blue]\fB\fBABORT\fR\fR\m[]\&\s-2\u[21]\d\s+2 ) می‌شوند .RE .PP exit .RS 4 خطاهای \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2 از نوع \m[blue]\fBcontinuable\fR\m[]\&\s-2\u[17]\d\s+2 فرونشانده می‌شوند، سایر \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2ها به اجرای \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 با \fBEXT:EXIT\-ON\-ERROR\fR پایان می‌دهند (رفتار معمول batch mode)\&. .RE .sp همچنین نگاه کنید به \fBEXT:SET\-GLOBAL\-HANDLER\fR\&. .RE .PP \fB\-repl\fR .RS 4 آغاز یک \m[blue]\fBread\-eval\-print loop\fR\m[]\&\s-2\u[2]\d\s+2 تعاملی پس از پردازش گزینه‌های \fB\-c\fR، \fB\-x\fR و \fB\fIlisp\-file\fR\fR و با بروز هر \m[blue]\fBERROR\fR\m[]\&\s-2\u[18]\d\s+2 که در حین این پردازش \m[blue]\fB\fBSIGNAL\fR\fR\m[]\&\s-2\u[22]\d\s+2 شود\&. .sp حالت دسته‌ای (batch mode) را غیرفعال می‌کند\&. .RE .PP \fB\-w\fR .RS 4 پس از اتمام برنامه، منتظر فشرده شدن یک کلید می‌ماند\&. .RE .PP \fB\-I\fR .RS 4 تعامل بهتر با \m[blue]\fBEmacs\fR\m[]\&\s-2\u[23]\d\s+2 (هنگام اجرای \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 تحت \m[blue]\fBEmacs\fR\m[]\&\s-2\u[23]\d\s+2 با استفاده از \m[blue]\fBSLIME\fR\m[]\&\s-2\u[24]\d\s+2، \m[blue]\fBILISP\fR\m[]\&\s-2\u[25]\d\s+2 و غیره کاربرد دارد)\&. با این گزینه، \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 به‌گونه‌ای تعامل می‌کند که \m[blue]\fBEmacs\fR\m[]\&\s-2\u[23]\d\s+2 بتواند آن را پردازش کند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اعلان‌های (prompts) غیرضروری سرکوب نمی‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} کتابخانه \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fBreadline\fR\m[]\&\s-2\u[26]\d\s+2 با TAB (کلید TAB را ببینید) مانند یک نویسه عادی درج‌شونده رفتار می‌کند (بخش Q:\ \&A.4.6 را ببینید)\&. .RE .RE .PP \fB\-disable\-readline\fR .RS 4 عدم استفاده از \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fBreadline\fR\m[]\&\s-2\u[26]\d\s+2 حتی در حالتی که با آن پیوند خورده باشد (linked)\&. این گزینه زمانی قابل استفاده است که بخواهید نویسه‌های غیر\-\m[blue]\fB\fIASCII\fR\fR\m[]\&\s-2\u[27]\d\s+2 را الصاق کنید، یا زمانی که \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fBreadline\fR\m[]\&\s-2\u[26]\d\s+2 به دلیل مشکلات نصب (نسخه‌های متفاوت روی ماشین‌های ساخت و نصب) یا پیکربندی (مقدار نادرست \m[blue]\fBمتغیر محیطی\fR\m[]\&\s-2\u[12]\d\s+2 \fBTERM\fR) رفتار نامناسبی از خود نشان دهد\&. .RE .PP \fB\-ansi\fR .RS 4 پیروی از مشخصات [ANSI CL standard] حتی در مواردی که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 به‌طور سنتی متفاوت بوده است، از طریق تنظیم \m[blue]\fBSYMBOL\-MACRO\fR\m[]\&\s-2\u[10]\d\s+2 \fICUSTOM:*ANSI*\fR روی \m[blue]\fB\fBT\fR\fR\m[]\&\s-2\u[15]\d\s+2\&. .RE .PP \fB\-traditional\fR .RS 4 سنتی: اثرات باقی‌مانده از \fB\-ansi\fR را در تصویر حافظه (memory image) ذخیره‌شده برعکس می‌کند\&. .RE .PP \fB\-modern\fR .RS 4 نمایی مدرن از نمادها ارائه می‌دهد: در زمان راه‌اندازی، متغیر \m[blue]\fB\fI*PACKAGE*\fR\fR\m[]\&\s-2\u[28]\d\s+2 روی بسته \(lqCS\-COMMON\-LISP\-USER\(rq تنظیم شده و \m[blue]\fB\fI*PRINT\-CASE*\fR\fR\m[]\&\s-2\u[29]\d\s+2 روی \fB:DOWNCASE\fR تنظیم خواهد شد\&. این امر موجب می‌شود که جستجوی نمادها حساس به حروف کوچک و بزرگ باشد (به‌جز کلمات کلیدی و بسته‌های سبک قدیمی) و کلمات کلیدی و نمادهای ثبت‌نشده با اولویت حروف کوچک چاپ شوند\&. بخش\ \&11.5، \(lqPackage Case-Sensitivity\(rq را ببینید\&. .RE .PP \fB\-p\fR \fIpackage\fR .RS 4 در زمان راه‌اندازی، مقدار متغیر \m[blue]\fB\fI*PACKAGE*\fR\fR\m[]\&\s-2\u[28]\d\s+2 روی بسته‌ای با نام \fIpackage\fR تنظیم خواهد شد\&. مقدار پیش‌فرض، مقدار \m[blue]\fB\fI*PACKAGE*\fR\fR\m[]\&\s-2\u[28]\d\s+2 در زمان ذخیره تصویر حافظه است که معمولاً \m[blue]\fB\(lqCOMMON\-LISP\-USER\(rq\fR\m[]\&\s-2\u[30]\d\s+2 می‌باشد\&. .RE .PP \fB\-C\fR .RS 4 کامپایل در زمان بارگذاری: در زمان راه‌اندازی، مقدار متغیر \fICUSTOM:*LOAD\-COMPILING*\fR روی \m[blue]\fB\fBT\fR\fR\m[]\&\s-2\u[15]\d\s+2 تنظیم خواهد شد\&. سپس کدی که در حال \m[blue]\fB\fBLOAD\fR\fR\m[]\&\s-2\u[31]\d\s+2 شدن است، بلافاصله و درجا (on the fly) \m[blue]\fB\fBCOMPILE\fR\fR\m[]\&\s-2\u[32]\d\s+2 می‌گردد\&. این امر به بارگذاری کندتر اما اجرای سریع‌تر منجر می‌شود\&. .RE .PP \fB\-norc\fR .RS 4 به‌طور معمول \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 در هنگام راه‌اندازی، فایل \m[blue]\fB\(lqrun control\(rq (RC)\fR\m[]\&\s-2\u[33]\d\s+2 کاربر را بارگذاری می‌کند (این کار \fBپس از\fR پردازش گزینه \fB\-C\fR انجام می‌شود)\&. فایل بارگذاری‌شده، \&.clisprc\&.lisp یا \&.clisprc\&.fas در دایرکتوری خانگی \m[blue]\fB\fBUSER\-HOMEDIR\-PATHNAME\fR\fR\m[]\&\s-2\u[34]\d\s+2، هر کدام که جدیدتر باشد خواهد بود\&. این گزینه، یعنی \fB\-norc\fR، از بارگذاری فایل RC جلوگیری می‌کند\&. .RE.PP \fB\-lp\fR \fIdirectory\fR .RS 4 دایرکتوری‌هایی را برای افزوده شدن به \fICUSTOM:*LOAD\-PATHS*\fR در زمان راه‌اندازی مشخص می‌کند\&. این کار \fBبعد از\fR بارگذاری RC file انجام می‌شود (تا گزینهٔ خط فرمان را بازنویسی نکند)، اما \fBقبل از\fR بارگذاری init\-fileهای تعیین‌شده توسط گزینه‌های \fB\-i\fR صورت می‌پذیرد (تا فایل‌های راه‌اندازی در دایرکتوری‌های مشخص‌شده جستجو شوند)\&. می‌توان چندین گزینهٔ \fB\-lp\fR را تعیین کرد؛ تمام دایرکتوری‌های مشخص‌شده اضافه خواهند شد\&. .RE .PP \fB\-i\fR \fIinit\-file\fR .RS 4 فایل‌های راه‌اندازی را مشخص می‌کند تا در زمان راه‌اندازی \m[blue]\fB\fBLOAD\fR\fR\m[]\&\s-2\u[31]\d\s+2 شوند\&. این فایل‌ها باید فایل‌های lisp (کد منبع یا کامپایل‌شده) باشند\&. می‌توان چندین گزینهٔ \fB\-i\fR را مشخص کرد؛ تمام فایل‌های تعیین‌شده به ترتیب بارگذاری خواهند شد\&. .RE .PP \fB\-c\fR \fIlisp\-file\fR .RS 4 \fIlisp\-file\fRهای مشخص‌شده را به bytecode (*\&.fas) کامپایل می‌کند\&. فایل‌های کامپایل‌شده می‌توانند بعداً برای افزایش کارایی، به جای فایل‌های منبع \m[blue]\fB\fBLOAD\fR\fR\m[]\&\s-2\u[31]\d\s+2 شوند\&. .sp حالت دسته‌ای (batch mode) را تحمیل می‌کند\&. .RE .PP \fB\-o\fR \fIoutputfile\fR .RS 4 فایل یا دایرکتوری خروجی را برای کامپایل آخرین \fIlisp\-file\fR مشخص‌شده تعیین می‌کند\&. .RE .PP \fB\-l\fR .RS 4 یک فهرست دیس‌اسمبل از bytecode \m[blue]\fB\fBDISASSEMBLE\fR\fR\m[]\&\s-2\u[35]\d\s+2 از فایل‌های در حال کامپایل (*\&.lis) تولید می‌کند\&. تنها برای اشکال‌زدایی مفید است\&. برای جزئیات، Section\ \&24.1, \(lqFunction COMPILE-FILE\(rq را ببینید\&. .RE .PP \fB\-x\fR \fIexpressions\fR .RS 4 به جای یک \m[blue]\fBread\-eval\-print loop\fR\m[]\&\s-2\u[2]\d\s+2 مجموعه‌ای از عبارت‌های دلخواه را اجرا می‌کند\&. مقادیر این عبارت‌ها به \m[blue]\fB\fI*STANDARD\-OUTPUT*\fR\fR\m[]\&\s-2\u[36]\d\s+2 ارسال خواهند شد\&. به دلیل پردازش آرگومان‌ها توسط پوسته (shell)، \fIexpressions\fR باید درون گیومه دوتایی (double quotes) قرار گیرند، و گیومه‌های دوتایی و بک‌اسلش‌ها باید با بک‌اسلش گریز (escape) داده شوند\&. .sp حالت دسته‌ای (batch mode) را تحمیل می‌کند\&. .RE .PP \fIlisp\-file\fR [ \fIargument\fR \&.\&.\&. ] .RS 4 یک \fIlisp\-file\fR را همان‌طور که در Section\ \&32.6.2, \(lqScripting with CLISP\(rq توضیح داده شده است، بارگذاری و اجرا می‌کند\&. هیچ \m[blue]\fBread\-eval\-print loop\fR\m[]\&\s-2\u[2]\d\s+2 وجود نخواهد داشت\&. پیش از بارگذاری \fIlisp\-file\fR، متغیر \fIEXT:*ARGS*\fR به فهرستی از رشته‌ها مقید می‌شود که نمایانگر \fIargument\fRها هستند\&. خط اول \fIlisp\-file\fR می‌تواند با \fB#!\fR شروع شود، بنابراین به \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 امکان می‌دهد تا به عنوان مفسر اسکریپت استفاده شود\&. اگر \fIlisp\-file\fR برابر \fB\-\fR باشد، به جای فایل از \m[blue]\fB\fI*STANDARD\-INPUT*\fR\fR\m[]\&\s-2\u[36]\d\s+2 استفاده می‌شود\&. .sp اگر memory image توسط \fBEXT:SAVEINITMEM\fR با آرگومان \fB:SCRIPT\fR برابر با \m[blue]\fB\fBNIL\fR\fR\m[]\&\s-2\u[16]\d\s+2 ایجاد شده باشد، این گزینه \fIغیرفعال\fR است\&. در این صورت \m[blue]\fBLIST\fR\m[]\&\s-2\u[37]\d\s+2 \fIEXT:*ARGS*\fR با \fIlisp\-file\fR آغاز می‌شود\&. .sp این گزینه باید آخرین گزینه باشد\&. .sp هیچ RC file اجرا نخواهد شد\&. .sp حالت دسته‌ای (batch mode) را تحمیل می‌کند\&. .RE .PP طبق معمول، \fB\-\-\fR پردازش گزینه‌ها را متوقف کرده و تمام آرگومان‌های باقیمانده خط فرمان را در \fIEXT:*ARGS*\fR قرار می‌دهد\&. .SH "مرجع زبان (LANGUAGE REFERENCE)" .PP زبان پیاده‌سازی‌شده \m[blue]\fBANSI\&\s-2\u[39]\d\s+2\fR\m[]\&\s-2\u[38]\d\s+2 \m[blue]\fB\fBCommon Lisp\fR\fR\m[]\&\s-2\u[1]\d\s+2 است\&. این پیاده‌سازی عمدتاً با استاندارد ANSI Common Lisp مطابقت دارد؛ Section\ \&31.10, \(lqMaximum ANSI CL compliance\(rq را ببینید\&. [ANSI CL] ANSI CL standard1994. \m[blue]ANSI\m[]\&\s-2\u[40]\d\s+2 INCITS 226-1994 (R1999) Information Technology - Programming Language - Common Lisp [formerly ANSI X3.226-1994 (R1999)]..SH "محیط کاربری خط فرمان (COMMAND LINE USER ENVIRONMENT)" .PP \fBhelp\fR .RS 4 دریافت راهنمای برخط حساس به زمینه؛ Chapter\ \&25, Environment chap-25 را ببینید\&. .RE .PP (\fBAPROPOS\fR \fIname\fR) .RS 4 فهرست کردن \m[blue]\fBSYMBOL\fR\m[]\&\s-2\u[41]\d\s+2های منطبق با \fIname\fR\&. .RE .PP (\fBDESCRIBE\fR \fIsymbol\fR) .RS 4 توصیف \fIsymbol\fR\&. .RE .PP (exit) .br (quit) .br (bye) .RS 4 خروج از \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2\&. .RE .PP EOF (Control+D در \m[blue]\fB\fBUNIX\fR\fR\m[]\&\s-2\u[42]\d\s+2) .RS 4 خروج از سطح جاریِ \m[blue]\fBread\-eval\-print loop\fR\m[]\&\s-2\u[2]\d\s+2 (همچنین ببینید: Section\ \&1.1, \(lqSpecial Symbols sec_1-4-1-3\(rq)\&. .RE .PP arrow keys .RS 4 برای ویرایش و مشاهده تاریخچه ورودی، با استفاده از کتابخانه \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fBreadline\fR\m[]\&\s-2\u[26]\d\s+2\&. .RE .PP TAB key .RS 4 وابسته به زمینه (Context sensitive): .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر در \(lqموقعیت تابع\(rq باشید (در نخستین نماد پس از یک پرانتز باز، یا در نخستین نماد پس از یک \m[blue]\fB#\*(Aq\fR\m[]\&\s-2\u[44]\d\s+2)، تکمیل خودکار به نمادهایی که نام تابع هستند محدود می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر در "موقعیت نام فایل" (درون یک رشته پس از \m[blue]\fB#P\fR\m[]\&\s-2\u[45]\d\s+2) باشید، تکمیل روی نام فایل‌ها و به شیوه \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fBbash\fR\m[]\&\s-2\u[46]\d\s+2 انجام می‌پذیرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر هنوز چیزی تایپ نکرده باشید، یک پیام راهنما دریافت خواهید کرد، درست مانند اجرای دستور \fBhelp\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر هنوز تایپ نماد بعدی را آغاز نکرده باشید (یعنی در یک نویسه فاصله خالی باشید)، تابع یا ماکروی فعلی \fBDESCRIBE\fR می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} در غیر این صورت، نمادی که در حال حاضر تایپ می‌کنید تکمیل می‌شود\&. .RE .sp .RE .SH "استفاده و گسترش CLISP (USING AND EXTENDING CLISP)" .PP \m[blue]\fB\fBCommon Lisp\fR\fR\m[]\&\s-2\u[1]\d\s+2 یک زبان برنامه‌نویسی \fIبرنامه‌پذیر\fR است\&. \(em\m[blue]\fBJohn Foderaro\fR\m[]\&\s-2\u[47]\d\s+2 .PP هنگامی که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 فراخوانی می‌شود، محیط زمان اجرا (runtime) ایمیج حافظه اولیه (initial memory image) را بارگذاری کرده و اعلان (prompt) را نمایش می‌دهد؛ جایی که در آن می‌توان نوشتن \m[blue]\fB\fBDEFVAR\fR\fR\m[]\&\s-2\u[48]\d\s+2ها، \m[blue]\fB\fBDEFUN\fR\fR\m[]\&\s-2\u[49]\d\s+2ها و \m[blue]\fB\fBDEFMACRO\fR\fR\m[]\&\s-2\u[50]\d\s+2ها را آغاز کرد\&. .PP برای جلوگیری از نیاز به وارد کردن مجدد و دستی تعاریف یکسان در هر نشست، می‌توان یک فایل lisp شامل تمام متغیرها، توابع، ماکروها و غیره ایجاد کرد؛ (در صورت تمایل) آن را با \m[blue]\fB\fBCOMPILE\-FILE\fR\fR\m[]\&\s-2\u[51]\d\s+2 کامپایل نمود؛ و با \m[blue]\fB\fBLOAD\fR\fR\m[]\&\s-2\u[31]\d\s+2 آن را دستی یا از طریق فایل RC بارگذاری کرد؛ یا یک ایمیج حافظه را ذخیره کرد تا از سربار \m[blue]\fB\fBLOAD\fR\fR\m[]\&\s-2\u[31]\d\s+2 جلوگیری شود\&. .PP با این حال، گاهی لازم است از قابلیت‌های پیاده‌سازی‌شده در زبانی دیگر استفاده شود؛ مثلاً فراخوانی یک تابع از کتابخانه \m[blue]\fB\fBC\fR\fR\m[]\&\s-2\u[52]\d\s+2\&. برای این منظور، از امکانات «رابط توابع خارجی» (Foreign Function Interface) و/یا «ماژول‌های خارجی» (External Modules) استفاده می‌شود\&. در نهایت، افراد واقعاً ماجراجو می‌توانند به بخش «گسترش هسته» (Extending the Core) ورود کنند\&..SH "فایل‌ها (FILES)" .PP \fBclisp\fR .br \fBclisp\&.exe\fR .RS 4 راه‌انداز آغازین (یک فایل اجرایی یا، به‌ندرت، یک اسکریپت پوسته) که مکان runtime را به خاطر می‌سپارد و آن را با آرگومان‌های مناسب آغاز می‌کند\&. .RE .PP lisp\&.run .br lisp\&.exe .RS 4 فایل اجرایی اصلی (runtime) \- بخشی از \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 پیاده‌سازی‌شده در \m[blue]\fB\fBC\fR\fR\m[]\&\s-2\u[52]\d\s+2\&. .RE .PP lispinit\&.mem .RS 4 تصویر حافظه (memory image) اولیه (بخشی از \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 پیاده‌سازی‌شده در lisp) .RE .PP config\&.lisp .RS 4 پیکربندی وابسته به سایت (باید پیش از ساخت \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 سفارشی‌سازی شده باشد)؛ ببینید: بخش\ \&31.12، \(lqCustomizing CLISP behavior\(rq .RE .PP *\&.lisp .RS 4 کد منبع lisp .RE .PP *\&.fas .RS 4 کد lisp، کامپایل‌شده توسط \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 .RE .PP *\&.lib .RS 4 اطلاعات کتابخانه منبع lisp، تولیدشده توسط \fBCOMPILE\-FILE\fR، ببینید: بخش\ \&24.3، \(lqFunction REQUIRE\(rq\&. .RE .PP *\&.c .RS 4 کد C، کامپایل‌شده از کد منبع lisp توسط \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 (ببینید: بخش\ \&32.3، \(lqThe Foreign Function Call Facility\(rq) .RE .PP برای فایل‌های منبع \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2، ببینید: فصل\ \&34، The source files of CLISP\&. .SH "محیط (ENVIRONMENT)" .PP همهٔ \m[blue]\fBمتغیرهای محیطی\fR\m[]\&\s-2\u[12]\d\s+2 که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 استفاده می‌کند حداکثر یک‌بار خوانده می‌شوند\&. .PP \fBCLISP_LANGUAGE\fR .RS 4 زبانی را مشخص می‌کند که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 برای برقراری ارتباط با کاربر به کار می‌برد\&. مقادیر معتبر همانند مقادیر گزینهٔ \fB\-L\fR است که می‌تواند برای بازنویسی این \m[blue]\fBمتغیر محیطی\fR\m[]\&\s-2\u[12]\d\s+2 استفاده شود\&. .RE .PP \fBLC_CTYPE\fR .RS 4 تنظیمات محلی (locale) را مشخص می‌کند که مجموعه نویسهٔ مورد استفاده را تعیین می‌نماید\&. مقدار می‌تواند به فرم \fB\fIlanguage\fR\fR یا \fB\fIlanguage\fR\fR\fB_\fR\fB\fIcountry\fR\fR یا \fB\fIlanguage\fR\fR\fB_\fR\fB\fIcountry\fR\fR\fB\&.\fR\fB\fIcharset\fR\fR باشد، که در آن \fIlanguage\fR یک کد زبان دوحرفی ISO 639 (حروف کوچک) و \fIcountry\fR یک کد کشور دوحرفی ISO 3166 (حروف بزرگ) است\&. \fIcharset\fR یک مشخصهٔ اختیاری مجموعه نویسه است و معمولاً نیازی به مشخص کردن آن نیست چون مجموعه نویسه را می‌توان از زبان و کشور استنتاج کرد\&. این \m[blue]\fBمتغیر محیطی\fR\m[]\&\s-2\u[12]\d\s+2 را می‌توان با گزینهٔ \fB-Edomain encoding\fR بازنویسی کرد\&. .RE .PP \fBLANG\fR .RS 4 زبانی را مشخص می‌کند که \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 برای ارتباط با کاربر استفاده می‌کند، مگر اینکه قبلاً از طریق \m[blue]\fBمتغیر محیطی\fR\m[]\&\s-2\u[12]\d\s+2 \fBCLISP_LANGUAGE\fR یا گزینهٔ \fB\-L\fR مشخص شده باشد\&. همچنین تنظیمات محلی تعیین‌کنندهٔ مجموعه نویسهٔ مورد استفاده را مشخص می‌کند، مگر اینکه از قبل توسط \m[blue]\fBمتغیر محیطی\fR\m[]\&\s-2\u[12]\d\s+2 \fBLC_CTYPE\fR تعیین شده باشد\&. مقدار ممکن است با یک کد زبان دوحرفی ISO 639 آغاز شود، به عنوان مثال \fBen\fR، \fBde\fR، \fBfr\fR\&. .RE .PP \fBHOME\fR .br \fBUSER\fR .RS 4 برای تعیین مقدار تابع \m[blue]\fB\fBUSER\-HOMEDIR\-PATHNAME\fR\fR\m[]\&\s-2\u[34]\d\s+2 استفاده می‌شود\&. .RE .PP \fBSHELL\fR .br \fBCOMSPEC\fR .RS 4 برای یافتن مفسر دستور تعاملی فراخوانی‌شده توسط \fBEXT:SHELL\fR استفاده می‌شود\&. .RE .PP \fBTERM\fR .RS 4 اندازهٔ صفحه‌نمایش قابل تشخیص توسط pretty printer را تعیین می‌کند\&. .RE .PP \fBORGANIZATION\fR .RS 4 برای \m[blue]\fB\fBSHORT\-SITE\-NAME\fR\fR\m[]\&\s-2\u[53]\d\s+2 و \m[blue]\fB\fBLONG\-SITE\-NAME\fR\fR\m[]\&\s-2\u[53]\d\s+2 در config\&.lisp\&. .RE .PP \fBCLHSROOT\fR .RS 4 برای \fBCUSTOM:CLHS\-ROOT\fR در config\&.lisp\&. .RE .PP \fBIMPNOTES\fR .RS 4 برای \fBCUSTOM:IMPNOTES\-ROOT\fR در config\&.lisp\&. .RE .PP \fBEDITOR\fR .RS 4 برای \fBeditor\-name\fR در config\&.lisp\&. .RE .PP \fBLOGICAL_HOST_\fR\fB\fIhost\fR\fR\fB_FROM\fR .br \fBLOGICAL_HOST_\fR\fB\fIhost\fR\fR\fB_TO\fR .br \fBLOGICAL_HOST_\fR\fB\fIhost\fR\fR .RS 4 برای \fICUSTOM:*LOAD\-LOGICAL\-PATHNAME\-TRANSLATIONS\-DATABASE*\fR .RE.SH "ورودی و خروجی (INPUT AND OUTPUT)" .PP بخش\ \&21.1.1، \(lqInitialization of Standard Streams\(rq را ببینید\&. .SH "همچنین ببینید (SEE ALSO)" .PP .RS 4 CLISP impnotes .RE .RS 4 clisp-link(1) .RE .RS 4 \m[blue]\fB\fBCMU CL\fR\fR\m[]\&\s-2\u[54]\d\s+2 \- \fBcmucl\fR(1) .RE .RS 4 \m[blue]\fB\fBSBCL\fR\fR\m[]\&\s-2\u[55]\d\s+2 \- \fBsbcl\fR(1) .RE .RS 4 \m[blue]\fBEmacs\fR\m[]\&\s-2\u[23]\d\s+2 \- \fBemacs\fR(1) .RE .SH "گزارش باگ‌ها (BUGS)" .PP هنگامی که با باگی در \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 یا در مستندات آن (این صفحه راهنما یا CLISP impnotes) مواجه شدید، لطفاً آن را به \m[blue]\fBSourceForge bug tracker\fR\m[]\&\s-2\u[56]\d\s+2 مربوط به \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 گزارش دهید\&. یا به حساب کاربری خود در \m[blue]\fBSourceForge\fR\m[]\&\s-2\u[57]\d\s+2 یا به حساب \m[blue]\fBOpenID\fR\m[]\&\s-2\u[58]\d\s+2 خود وارد شوید\&. سپس روی پیوند "Create Ticket" در سمت چپ کلیک کنید\&. .PP \fIپیش از\fR ارسال گزارش باگ، لطفاً مراحل ابتدایی زیر را برای مفیدتر شدن گزارش انجام دهید: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} مگر در مواردی که باگ شما وابسته به محلی‌سازی (locale) خاصی باشد، لطفاً locale خود را روی en تنظیم کنید\&. شما \fIنمی‌توانید\fR فرض کنید که نگه‌دارندگان \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 زبانی غیر از \m[blue]\fBEnglish\fR\m[]\&\s-2\u[59]\d\s+2 را متوجه می‌شوند، حتی با اینکه از نظر تاریخی، نگه‌دارندگان اندکی از \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 زبان مادری‌شان انگلیسی بوده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} یک ساخت پاکیزه (clean build) انجام دهید (دایرکتوری ساخت خود را حذف کرده و \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 را با \fB\&./configure \-\-cbcx build\fR بسازید، یا دست‌کم پیش از \fBmake\fR دستور \fBmake distclean\fR را اجرا کنید)\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} اگر یک \(lqفروپاشی سخت (hard crash)\(rq (مانند segmentation fault، bus error، core dump و غیره) را گزارش می‌کنید، لطفاً دستور \fB\&./configure \fR\fB\fB\-\-with\-debug\fR\fR\fB \-\-cbcx build\-g ; cd build\-g; gdb lisp\&.run\fR را اجرا کرده، سپس مجموعه پیونددهی (linking set) مناسب را با دستور \fBbase\fR یا \fBfull\fR در \m[blue]\fB\fBgdb\fR\fR\m[]\&\s-2\u[60]\d\s+2 بارگذاری کنید، و ردگیری پشته (backtrace) را گزارش دهید (همچنین ببینید Q:\ \&A.1.1.10)\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} اگر از باینری‌های پیش‌ساخته استفاده می‌کنید و دچار یک فروپاشی سخت می‌شوید، مشکل احتمالاً ناشی از ناسازگاری‌های میان پلتفرمی است که باینری روی آن ساخته شده با پلتفرم شما؛ لطفاً سورس‌ها را کامپایل کنید و اگر مشکل همچنان پابرجا بود آن را گزارش دهید\&. .RE .PP هنگام ارسال گزارش باگ، لطفاً اطلاعات زیر را مشخص کنید: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} پلتفرم شما چیست (\fBuname \-a\fR روی یک سیستم \m[blue]\fB\fBUNIX\fR\fR\m[]\&\s-2\u[42]\d\s+2)\؟ .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} لطفاً خروجی کامل (کپی و پیست شده) تمامی پیام‌های خطا را ارائه دهید\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} لطفاً دستورالعمل‌های دقیقی درباره نحوه بازتولید مشکل ارائه دهید\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} سورس‌ها یا باینری‌های \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 را از کجا دریافت کرده‌اید؟ چه زمانی؟ (تاریخ‌های مطلق، مانند \(lq2006\-01\-17\(rq، نسبت به تاریخ‌های نسبی، مانند \(lq2 days ago\(rq ترجیح داده می‌شوند\&. اگر از \m[blue]\fBGit\fR\m[]\&\s-2\u[61]\d\s+2 استفاده می‌کنید، لطفاً خروجی \fBgit rev\-list \-\-max\-count=1 HEAD\fR را ارائه دهید)\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ .sp -1 .IP " 5." 4.2 .\} اگر شکست در ساخت را گزارش می‌کنید: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} نسخه کامپایلر شما چیست؟ .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} نسخه \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2 \m[blue]\fBlibc\fR\m[]\&\s-2\u[62]\d\s+2 شما (روی \m[blue]\fBGNU\fR\m[]\&\s-2\u[8]\d\s+2/\m[blue]\fB\fILinux\fR\fR\m[]\&\s-2\u[63]\d\s+2) چیست؟ .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1.IP " 3." 4.2 .\} نسخه هر یک از DEPENDENCIES (فایل موجود در کدهای منبع CLISP) چیست؟ .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} چگونه configure (فایل موجود در کدهای منبع CLISP) را اجرا کردید؟ ما به گزینه‌هایی که استفاده کرده‌اید و همچنین مقادیر \m[blue]\fBمتغیرهای محیطی\fR\m[]\&\s-2\u[12]\d\s+2 زیر نیاز داریم: .RS 4 \fBCC\fR .RE .RS 4 \fBCFLAGS\fR .RE .RS 4 \fBCPPFLAGS\fR .RE .RS 4 \fBLDFLAFS\fR .RE .RS 4 \fBLD_LIBRARY_PATH\fR .RE \&. .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ .sp -1 .IP " 5." 4.2 .\} لطفاً تمام گزارش‌های ساخت (build logs) را ضمیمه کنید\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ .sp -1 .IP " 6." 4.2 .\} اگر یک نسخهٔ در حال کار از \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 دارید، لطفاً خروجی \fBclisp \-\-version\fR را ارائه دهید\&. .RE .SH "پروژه‌ها (PROJECTS)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} بهبود کامپایلر به‌گونه‌ای که بتواند توابع محلی را درون‌خطی (inline) کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} تعبیهٔ \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2 در \m[blue]\fBVIM\fR\m[]\&\s-2\u[64]\d\s+2\&. .RE .SH "نویسندگان (AUTHORS)" .PP \fBBruno Haible\fR <\&\m[blue]\fB\%http://www.haible.de/bruno\fR\m[]\&> .RS 4 نویسنده اصلی و نگه‌دارنده دیرینه\&. .RE .PP \fBMichael Stoll\fR <\&\m[blue]\fB\%http://www.mathe2.uni-bayreuth.de/stoll\fR\m[]\&> .RS 4 نویسنده اصلی\&. .RE .PP \fBSam Steingold\fR <\&\m[blue]\fB\%http://sds.podval.org\fR\m[]\&> .RS 4 هم‌نگه‌دارنده از سال 1998\&. .RE .PP \fBOthers\fR .RS 4 برای مشاهده فهرست سایر مشارکت‌کنندگان و مجوز، \fICOPYRIGHT (فایل موجود در کدهای منبع CLISP)\fR را ببینید\&. .RE .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .br Copyright \(co 1992-2010 Bruno Haible .br Copyright \(co 1998-2010 Sam Steingold .br .SH "نکات (NOTES)" .IP " 1." 4 \fBCommon Lisp\fR .RS 4 \%https://common-lisp.net .RE .IP " 2." 4 read-eval-print loop .RS 4 \%[set $man.base.url.for.relative.links]/sec_25-1-1 .RE .IP " 3." 4 \fBREAD\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_readcm_re_g-whitespace.html .RE .IP " 4." 4 \fBEVAL\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_eval.html .RE .IP " 5." 4 \fBPRINT\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_writecm_p_rintcm_princ.html .RE .IP " 6." 4 \fBCLISP\fR .RS 4 \%http://clisp.org .RE .IP " 7." 4 \fBLISP-IMPLEMENTATION-VERSION\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_lisp-impl_tion-version.html .RE .IP " 8." 4 GNU .RS 4 \%https://www.gnu.org .RE .IP " 9." 4 GPL .RS 4 \%https://www.gnu.org/copyleft/gpl.html .RE .IP "10." 4 SYMBOL-MACRO .RS 4 \%[set $man.base.url.for.relative.links]/mac_define-symbol-macro .RE .IP "11." 4 \fBgzip\fR .RS 4 \%http://www.gzip.org .RE .IP "12." 4 environment variable .RS 4 \%[set $man.base.url.for.relative.links]/basedefs/V1_chap08.html .RE .IP "13." 4 \fI*LOAD-VERBOSE*\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/var_stload-pr_ad-verbosest.html .RE .IP "14." 4 \fI*COMPILE-VERBOSE*\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/var_stcompile_le-verbosest.html .RE .IP "15." 4 \fBT\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/convar_t.html .RE .IP "16." 4 \fBNIL\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/convar_nil.html .RE .IP "17." 4 continuable .RS 4 \%[set $man.base.url.for.relative.links]/clhs/glo .RE .IP "18." 4 ERROR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/contyp_error.html .RE.IP "19." 4 WARNING .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/contyp_warning.html .RE .IP "20." 4 \fBINVOKE-DEBUGGER\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_invoke-debugger.html .RE .IP "21." 4 \fBABORT\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_abortcm_c_cm_use-value.html .RE .IP "22." 4 \fBSIGNAL\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_signal.html .RE .IP "23." 4 Emacs .RS 4 \%https://www.gnu.org/software/emacs .RE .IP "24." 4 SLIME .RS 4 \%https://common-lisp.net/project/slime .RE .IP "25." 4 ILISP .RS 4 \%https://sourceforge.net/projects/ilisp .RE .IP "26." 4 readline .RS 4 \%http://tiswww.case.edu/php/chet/readline/readline.html .RE .IP "27." 4 \fIASCII\fR .RS 4 \%https://en.wikipedia.org/wiki/ASCII .RE .IP "28." 4 \fI*PACKAGE*\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/var_stpackagest.html .RE .IP "29." 4 \fI*PRINT-CASE*\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/var_stprint-casest.html .RE .IP "30." 4 \(lqCOMMON-LISP-USER\(rq .RS 4 \%[set $man.base.url.for.relative.links]/sec_11-1-2-2 .RE .IP "31." 4 \fBLOAD\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_load.html .RE .IP "32." 4 \fBCOMPILE\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_compile.html .RE .IP "33." 4 \(lqrun control\(rq (RC) .RS 4 \%http://www.faqs.org/docs/artu/ch10s03.html .RE .IP "34." 4 \fBUSER-HOMEDIR-PATHNAME\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_user-homedir-pathname.html .RE .IP "35." 4 \fBDISASSEMBLE\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_disassemble.html .RE .IP "36." 4 \fI*STANDARD-OUTPUT*\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/var_stdebug-i_ace-outputst.html .RE .IP "37." 4 LIST .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/syscla_list.html .RE .IP "38." 4 ANSI .RS 4 \%https://www.ansi.org .RE .IP "39." 4 مؤسسه ملی استاندارد آمریکا .IP "40." 4 ANSI .RS 4 \%https://webstore.ansi.org .RE .IP "41." 4 SYMBOL .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/syscla_symbol.html .RE .IP "42." 4 \fBUNIX\fR .RS 4 \%http://www.unix.org/online.html .RE .IP "43." 4 \fIWin32\fR .RS 4 \%https://winehq.org .RE .IP "44." 4 #' .RS 4 \%[set $man.base.url.for.relative.links]/sec_2-4-8-2 .RE .IP "45." 4 #P .RS 4 \%[set $man.base.url.for.relative.links]/sec_2-4-8-14 .RE .IP "46." 4 bash .RS 4 \%https://www.gnu.org/software/bash .RE .IP "47." 4 جان فودرارو (John Foderaro) .RS 4 \%http://www.franz.com/~jkf .RE .IP "48." 4 \fBDEFVAR\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/mac_defparametercm_defvar.html .RE .IP "49." 4 \fBDEFUN\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/mac_defun.html .RE .IP "50." 4 \fBDEFMACRO\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/mac_defmacro.html .RE .IP "51." 4 \fBCOMPILE-FILE\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_compile-file.html .RE .IP "52." 4 \fBC\fR .RS 4 \%http://c-faq.com .RE .IP "53." 4 \fBSHORT-SITE-NAME\fR .RS 4 \%http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_short-sit_ng-site-name.html .RE .IP "54." 4 \fBCMU CL\fR .RS 4 \%https://www.cons.org/cmucl .RE .IP "55." 4 \fBSBCL\fR .RS 4 \%http://www.sbcl.org .RE .IP "56." 4 ردیاب باگ SourceForge .RS 4 \%https://sourceforge.net/p/clisp/bugs .RE .IP "57." 4 SourceForge .RS 4 \%https://sourceforge.net .RE .IP "58." 4 OpenID .RS 4 \%http://openid.net .RE .IP "59." 4 انگلیسی .RS 4 \%http://www.catb.org/esr/faqs/hacker-howto.html#skills4 .RE.IP "60." 4 \fBgdb\fR .RS 4 \%https://www.sourceware.org/gdb .RE .IP "61." 4 Git .RS 4 \%https://git-scm.com .RE .IP "62." 4 libc .RS 4 \%https://www.gnu.org/software/libc .RE .IP "63." 4 \fILinux\fR .RS 4 \%https://www.kernel.org .RE .IP "64." 4 VIM .RS 4 \%https://www.vim.org .RE