Mercurial > emacs
comparison man/custom.texi @ 59800:4a45f5c001b2
(Easy Customization): Defn of "User Option" now
includes faces. Don't say just "option" when talking about variables.
Do say just "options" to mean "anything customizable".
(Specific Customization): Describe `customize-variable',
not `customize-option'.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 30 Jan 2005 11:34:58 +0000 |
parents | c13a0c603028 |
children | 67941974673e |
comparison
equal
deleted
inserted
replaced
59799:61196709b8e6 | 59800:4a45f5c001b2 |
---|---|
176 @node Easy Customization | 176 @node Easy Customization |
177 @section Easy Customization Interface | 177 @section Easy Customization Interface |
178 | 178 |
179 @cindex user option | 179 @cindex user option |
180 Emacs has many @dfn{user options} which have values that you can set | 180 Emacs has many @dfn{user options} which have values that you can set |
181 in order to customize various commands. Most user options are | 181 in order to customize various commands. Many user options are |
182 documented in this manual. Each user option is actually a Lisp | 182 documented in this manual. Most user options are actually Lisp |
183 variable (@pxref{Variables}), so their names appear in the Variable | 183 variables (@pxref{Variables}), so their names appear in the Variable |
184 Index (@pxref{Variable Index}). | 184 Index (@pxref{Variable Index}). The rest are faces and their |
185 attributes (@pxref{Faces}). | |
185 | 186 |
186 @findex customize | 187 @findex customize |
187 @cindex customization buffer | 188 @cindex customization buffer |
188 You can browse interactively through the the user options and change | 189 You can browse interactively through the the user options and change |
189 some of them using @kbd{M-x customize}. This command creates a | 190 some of them using @kbd{M-x customize}. This command creates a |
201 How options are classified in a structure. | 202 How options are classified in a structure. |
202 * Changing an Option:: How to edit a value and set an option. | 203 * Changing an Option:: How to edit a value and set an option. |
203 * Saving Customizations:: Details of saving customizations. | 204 * Saving Customizations:: Details of saving customizations. |
204 * Face Customization:: How to edit the attributes of a face. | 205 * Face Customization:: How to edit the attributes of a face. |
205 * Specific Customization:: Making a customization buffer for specific | 206 * Specific Customization:: Making a customization buffer for specific |
206 options, faces, or groups. | 207 variables, faces, or groups. |
207 @end menu | 208 @end menu |
208 | 209 |
209 @node Customization Groups | 210 @node Customization Groups |
210 @subsection Customization Groups | 211 @subsection Customization Groups |
211 @cindex customization groups | 212 @cindex customization groups |
264 | 265 |
265 The @code{Emacs} group includes a few user options itself, but | 266 The @code{Emacs} group includes a few user options itself, but |
266 mainly it contains other groups, which contain more groups, which | 267 mainly it contains other groups, which contain more groups, which |
267 contain the user options. By browsing the hierarchy of groups, you | 268 contain the user options. By browsing the hierarchy of groups, you |
268 will eventually find the feature you are interested in customizing. | 269 will eventually find the feature you are interested in customizing. |
269 Then you can use the customization buffer to set the options and faces | 270 Then you can use the customization buffer to set the options |
270 pertaining to that feature. You can also go straight to a particular | 271 pertaining to that feature. You can also go straight to a particular |
271 group by name, using the command @kbd{M-x customize-group}. | 272 group by name, using the command @kbd{M-x customize-group}. |
272 | 273 |
273 @findex customize-browse | 274 @findex customize-browse |
274 You can view the structure of customization groups on a larger scale | 275 You can view the structure of customization groups on a larger scale |
275 with @kbd{M-x customize-browse}. This command creates a special kind of | 276 with @kbd{M-x customize-browse}. This command creates a special kind of |
276 customization buffer which shows only the names of the groups (and | 277 customization buffer which shows only the names of the groups (and |
277 options and faces), and their structure. | 278 variables and faces), and their structure. |
278 | 279 |
279 In this buffer, you can show the contents of a group by invoking | 280 In this buffer, you can show the contents of a group by invoking |
280 @samp{[+]}. When the group contents are visible, this button changes to | 281 @samp{[+]}. When the group contents are visible, this button changes to |
281 @samp{[-]}; invoking that hides the group contents. | 282 @samp{[-]}; invoking that hides the group contents. |
282 | 283 |
283 Each group, option or face name in this buffer has an active field | 284 Each group, variable, or face name in this buffer has an active field |
284 which says @samp{[Group]}, @samp{[Option]} or @samp{[Face]}. Invoking | 285 which says @samp{[Group]}, @samp{[Variable]} or @samp{[Face]}. Invoking |
285 that active field creates an ordinary customization buffer showing just | 286 that active field creates an ordinary customization buffer showing just |
286 that group and its contents, just that option, or just that face. | 287 that group and its contents, just that variable, or just that face. |
287 This is the way to set values in it. | 288 This is the way to set values in it. |
288 | 289 |
289 @node Changing an Option | 290 @node Changing a Variable |
290 @subsection Changing an Option | 291 @subsection Changing a Variable |
291 | 292 |
292 Here is an example of what a user option looks like in the | 293 Here is an example of what a variable looks like in the |
293 customization buffer: | 294 customization buffer: |
294 | 295 |
295 @smallexample | 296 @smallexample |
296 Kill Ring Max: [Hide] 60 | 297 Kill Ring Max: [Hide] 60 |
297 [State]: this option is unchanged from its standard setting. | 298 [State]: this variable is unchanged from its standard setting. |
298 Maximum length of kill ring before oldest elements are thrown away. | 299 Maximum length of kill ring before oldest elements are thrown away. |
299 @end smallexample | 300 @end smallexample |
300 | 301 |
301 The text following @samp{[Hide]}, @samp{60} in this case, indicates | 302 The text following @samp{[Hide]}, @samp{60} in this case, indicates |
302 the current value of the option. If you see @samp{[Show]} instead of | 303 the current value of the variable. If you see @samp{[Show]} instead of |
303 @samp{[Hide]}, it means that the value is hidden; the customization | 304 @samp{[Hide]}, it means that the value is hidden; the customization |
304 buffer initially hides values that take up several lines. Invoke | 305 buffer initially hides values that take up several lines. Invoke |
305 @samp{[Show]} to show the value. | 306 @samp{[Show]} to show the value. |
306 | 307 |
307 The line after the option name indicates the @dfn{customization state} | 308 The line after the option name indicates the @dfn{customization state} |
308 of the option: in the example above, it says you have not changed the | 309 of the variable: in the example above, it says you have not changed the |
309 option yet. The word @samp{[State]} at the beginning of this line is | 310 option yet. The word @samp{[State]} at the beginning of this line is |
310 active; you can get a menu of various operations by invoking it with | 311 active; you can get a menu of various operations by invoking it with |
311 @kbd{Mouse-1} or @key{RET}. These operations are essential for | 312 @kbd{Mouse-1} or @key{RET}. These operations are essential for |
312 customizing the user option. | 313 customizing the variable. |
313 | 314 |
314 The line after the @samp{[State]} line displays the beginning of the | 315 The line after the @samp{[State]} line displays the beginning of the |
315 option's documentation string. If there are more lines of | 316 variable's documentation string. If there are more lines of |
316 documentation, this line ends with @samp{[More]}; invoke this to show | 317 documentation, this line ends with @samp{[More]}; invoke this to show |
317 the full documentation string. | 318 the full documentation string. |
318 | 319 |
319 To enter a new value for @samp{Kill Ring Max}, move point to the value | 320 To enter a new value for @samp{Kill Ring Max}, move point to the value |
320 and edit it textually. For example, you can type @kbd{M-d}, then insert | 321 and edit it textually. For example, you can type @kbd{M-d}, then insert |
322 | 323 |
323 When you begin to alter the text, you will see the @samp{[State]} line | 324 When you begin to alter the text, you will see the @samp{[State]} line |
324 change to say that you have edited the value: | 325 change to say that you have edited the value: |
325 | 326 |
326 @smallexample | 327 @smallexample |
327 [State]: you have edited the value as text, but not set the option. | 328 [State]: you have edited the value as text, but not set the variable. |
328 @end smallexample | 329 @end smallexample |
329 | 330 |
330 @cindex setting option value | 331 @cindex setting option value |
331 Editing the value does not actually set the option. To do | 332 Editing the value does not actually set the variable. To do |
332 that, you must @dfn{set} the option. To do this, invoke the word | 333 that, you must @dfn{set} it. To do this, invoke the word |
333 @samp{[State]} and choose @samp{Set for Current Session}. | 334 @samp{[State]} and choose @samp{Set for Current Session}. |
334 | 335 |
335 The state of the option changes visibly when you set it: | 336 The state of the variable changes visibly when you set it: |
336 | 337 |
337 @smallexample | 338 @smallexample |
338 [State]: you have set this option, but not saved it for future sessions. | 339 [State]: you have set this variable, but not saved it for future sessions. |
339 @end smallexample | 340 @end smallexample |
340 | 341 |
341 You don't have to worry about specifying a value that is not valid; | 342 You don't have to worry about specifying a value that is not valid; |
342 setting the option checks for validity and will not really install an | 343 setting the variable checks for validity and will not really install an |
343 unacceptable value. | 344 unacceptable value. |
344 | 345 |
345 @kindex M-TAB @r{(customization buffer)} | 346 @kindex M-TAB @r{(customization buffer)} |
346 @findex widget-complete | 347 @findex widget-complete |
347 While editing a value or field that is a file name, directory name, | 348 While editing a value or field that is a file name, directory name, |
348 command name, or anything else for which completion is defined, you can | 349 command name, or anything else for which completion is defined, you can |
349 type @kbd{M-@key{TAB}} (@code{widget-complete}) to do completion. | 350 type @kbd{M-@key{TAB}} (@code{widget-complete}) to do completion. |
350 | 351 |
351 Some options have a small fixed set of possible legitimate values. | 352 Some variables have a small fixed set of possible legitimate values. |
352 These options don't let you edit the value textually. Instead, an | 353 These variables don't let you edit the value textually. Instead, an |
353 active field @samp{[Value Menu]} appears before the value; invoke this | 354 active field @samp{[Value Menu]} appears before the value; invoke this |
354 field to edit the value. For a boolean ``on or off'' value, the active | 355 field to edit the value. For a boolean ``on or off'' value, the active |
355 field says @samp{[Toggle]}, and it changes to the other value. | 356 field says @samp{[Toggle]}, and it changes to the other value. |
356 @samp{[Value Menu]} and @samp{[Toggle]} edit the buffer; the changes | 357 @samp{[Value Menu]} and @samp{[Toggle]} edit the buffer; the changes |
357 take effect when you use the @samp{Set for Current Session} operation. | 358 take effect when you use the @samp{Set for Current Session} operation. |
358 | 359 |
359 Some options have values with complex structure. For example, the | 360 Some variables have values with complex structure. For example, the |
360 value of @code{file-coding-system-alist} is an association list. Here | 361 value of @code{file-coding-system-alist} is an association list. Here |
361 is how it appears in the customization buffer: | 362 is how it appears in the customization buffer: |
362 | 363 |
363 @smallexample | 364 @smallexample |
364 File Coding System Alist: [Hide] | 365 File Coding System Alist: [Hide] |
377 [INS] [DEL] File regexp: | 378 [INS] [DEL] File regexp: |
378 Choice: [Value Menu] Encoding/decoding pair: | 379 Choice: [Value Menu] Encoding/decoding pair: |
379 Decoding: undecided | 380 Decoding: undecided |
380 Encoding: nil | 381 Encoding: nil |
381 [INS] | 382 [INS] |
382 [State]: this option is unchanged from its standard setting. | 383 [State]: this variable is unchanged from its standard setting. |
383 Alist to decide a coding system to use for a file I/O operation. [Hide] | 384 Alist to decide a coding system to use for a file I/O operation. [Hide] |
384 The format is ((PATTERN . VAL) ...), | 385 The format is ((PATTERN . VAL) ...), |
385 where PATTERN is a regular expression matching a file name, | 386 where PATTERN is a regular expression matching a file name, |
386 @r{[@dots{}more lines of documentation@dots{}]} | 387 @r{[@dots{}more lines of documentation@dots{}]} |
387 @end smallexample | 388 @end smallexample |
413 Typing @key{RET} on an editable field also moves forward, just like | 414 Typing @key{RET} on an editable field also moves forward, just like |
414 @key{TAB}. We set it up this way because people often type @key{RET} | 415 @key{TAB}. We set it up this way because people often type @key{RET} |
415 when they are finished editing a field. To insert a newline within an | 416 when they are finished editing a field. To insert a newline within an |
416 editable field, use @kbd{C-o} or @kbd{C-q C-j}. | 417 editable field, use @kbd{C-o} or @kbd{C-q C-j}. |
417 | 418 |
418 @cindex saving option value | 419 @cindex saving variable value |
419 @cindex customized options, saving | 420 @cindex customized variables, saving |
420 Setting the option changes its value in the current Emacs session; | 421 Setting the variable changes its value in the current Emacs session; |
421 @dfn{saving} the value changes it for future sessions as well. To | 422 @dfn{saving} the value changes it for future sessions as well. To |
422 save the option, invoke @samp{[State]} and select the @samp{Save for | 423 save the variable, invoke @samp{[State]} and select the @samp{Save for |
423 Future Sessions} operation. This works by writing code so as to set | 424 Future Sessions} operation. This works by writing code so as to set |
424 the option again, each time you start Emacs (@pxref{Saving | 425 the variable again, each time you start Emacs (@pxref{Saving |
425 Customizations}). | 426 Customizations}). |
426 | 427 |
427 You can also restore the option to its standard value by invoking | 428 You can also restore the variable to its standard value by invoking |
428 @samp{[State]} and selecting the @samp{Erase Customization} operation. | 429 @samp{[State]} and selecting the @samp{Erase Customization} operation. |
429 There are actually three reset operations: | 430 There are actually three reset operations: |
430 | 431 |
431 @table @samp | 432 @table @samp |
432 @item Reset | 433 @item Reset |
433 If you have made some modifications and not yet set the option, | 434 If you have made some modifications and not yet set the variable, |
434 this restores the text in the customization buffer to match | 435 this restores the text in the customization buffer to match |
435 the actual value. | 436 the actual value. |
436 | 437 |
437 @item Reset to Saved | 438 @item Reset to Saved |
438 This restores the value of the option to the last saved value, | 439 This restores the value of the variable to the last saved value, |
439 and updates the text accordingly. | 440 and updates the text accordingly. |
440 | 441 |
441 @item Erase Customization | 442 @item Erase Customization |
442 This sets the option to its standard value, and updates the text | 443 This sets the variable to its standard value, and updates the text |
443 accordingly. This also eliminates any saved value for the option, | 444 accordingly. This also eliminates any saved value for the option, |
444 so that you will get the standard value in future Emacs sessions. | 445 so that you will get the standard value in future Emacs sessions. |
445 | 446 |
446 @item Use Backup Value | 447 @item Use Backup Value |
447 This sets the option to a previous value that was set in the | 448 This sets the variable to a previous value that was set in the |
448 customization buffer in this session. If you customize an option | 449 customization buffer in this session. If you customize a variable |
449 and then reset it, which discards the customized value, | 450 and then reset it, which discards the customized value, |
450 you can get the customized value back again with this operation. | 451 you can get the customized value back again with this operation. |
451 @end table | 452 @end table |
452 | 453 |
453 @cindex comments on customized options | 454 @cindex comments on customized options |
454 Sometimes it is useful to record a comment about a specific | 455 Sometimes it is useful to record a comment about a specific |
455 customization. Use the @samp{Add Comment} item from the | 456 customization. Use the @samp{Add Comment} item from the |
456 @samp{[State]} menu to create a field for entering the comment. The | 457 @samp{[State]} menu to create a field for entering the comment. The |
457 comment you enter will be saved, and displayed again if you again view | 458 comment you enter will be saved, and displayed again if you again view |
458 the same option in a customization buffer, even in another session. | 459 the same variable in a customization buffer, even in another session. |
459 | 460 |
460 The state of a group indicates whether anything in that group has been | 461 The state of a group indicates whether anything in that group has been |
461 edited, set or saved. You can select @samp{Set for Current Session}, | 462 edited, set or saved. You can select @samp{Set for Current Session}, |
462 @samp{Save for Future Sessions} and the various kinds of @samp{Reset} | 463 @samp{Save for Future Sessions} and the various kinds of @samp{Reset} |
463 operation for the group; these operations on the group apply to all | 464 operation for the group; these operations on the group apply to all |
475 @noindent | 476 @noindent |
476 Invoking @samp{[Finish]} either buries or kills this customization | 477 Invoking @samp{[Finish]} either buries or kills this customization |
477 buffer according to the setting of the option | 478 buffer according to the setting of the option |
478 @code{custom-buffer-done-function}; the default is to bury the buffer. | 479 @code{custom-buffer-done-function}; the default is to bury the buffer. |
479 Each of the other fields performs an operation---set, save or | 480 Each of the other fields performs an operation---set, save or |
480 reset---on each of the items in the buffer that could meaningfully be | 481 reset---on each of the options in the buffer that could meaningfully |
481 set, saved or reset. | 482 be set, saved or reset. They do not operate on options whose values |
483 are hidden. | |
482 | 484 |
483 @node Saving Customizations | 485 @node Saving Customizations |
484 @subsection Saving Customizations | 486 @subsection Saving Customizations |
485 | 487 |
486 @vindex custom-file | 488 @vindex custom-file |
523 @cindex customizing faces | 525 @cindex customizing faces |
524 @cindex bold font | 526 @cindex bold font |
525 @cindex italic font | 527 @cindex italic font |
526 @cindex fonts and faces | 528 @cindex fonts and faces |
527 | 529 |
528 In addition to user options, some customization groups also include | 530 In addition to variables, some customization groups also include |
529 faces. When you show the contents of a group, both the user options and | 531 faces. When you show the contents of a group, both the variables and |
530 the faces in the group appear in the customization buffer. Here is an | 532 the faces in the group appear in the customization buffer. Here is an |
531 example of how a face looks: | 533 example of how a face looks: |
532 | 534 |
533 @smallexample | 535 @smallexample |
534 Custom Changed Face:(sample) [Hide] | 536 Custom Changed Face:(sample) [Hide] |
566 @samp{black}, @samp{white}, @samp{gray}, @samp{gray1}, and | 568 @samp{black}, @samp{white}, @samp{gray}, @samp{gray1}, and |
567 @samp{gray3}. Emacs supports these shades of gray by using background | 569 @samp{gray3}. Emacs supports these shades of gray by using background |
568 stipple patterns instead of a color. | 570 stipple patterns instead of a color. |
569 | 571 |
570 Setting, saving and resetting a face work like the same operations for | 572 Setting, saving and resetting a face work like the same operations for |
571 options (@pxref{Changing an Option}). | 573 variables (@pxref{Changing a Variable}). |
572 | 574 |
573 A face can specify different appearances for different types of | 575 A face can specify different appearances for different types of |
574 display. For example, a face can make text red on a color display, but | 576 display. For example, a face can make text red on a color display, but |
575 use a bold font on a monochrome display. To specify multiple | 577 use a bold font on a monochrome display. To specify multiple |
576 appearances for a face, select @samp{Show all display specs} in the menu you | 578 appearances for a face, select @samp{Show all display specs} in the menu you |
586 | 588 |
587 @node Specific Customization | 589 @node Specific Customization |
588 @subsection Customizing Specific Items | 590 @subsection Customizing Specific Items |
589 | 591 |
590 Instead of finding the options you want to change by moving down | 592 Instead of finding the options you want to change by moving down |
591 through the structure of groups, you can specify the particular option, | 593 through the structure of groups, you can specify the particular variable, |
592 face or group that you want to customize. | 594 face, or group that you want to customize. |
593 | 595 |
594 @table @kbd | 596 @table @kbd |
595 @item M-x customize-option @key{RET} @var{option} @key{RET} | 597 @item M-x customize-variable @key{RET} @var{variable} @key{RET} |
596 Set up a customization buffer with just one option, @var{option}. | 598 Set up a customization buffer with just one variable, @var{variable}. |
597 @item M-x customize-face @key{RET} @var{face} @key{RET} | 599 @item M-x customize-face @key{RET} @var{face} @key{RET} |
598 Set up a customization buffer with just one face, @var{face}. | 600 Set up a customization buffer with just one face, @var{face}. |
599 @item M-x customize-group @key{RET} @var{group} @key{RET} | 601 @item M-x customize-group @key{RET} @var{group} @key{RET} |
600 Set up a customization buffer with just one group, @var{group}. | 602 Set up a customization buffer with just one group, @var{group}. |
601 @item M-x customize-apropos @key{RET} @var{regexp} @key{RET} | 603 @item M-x customize-apropos @key{RET} @var{regexp} @key{RET} |
602 Set up a customization buffer with all the options, faces and groups | 604 Set up a customization buffer with all the variables, faces and groups |
603 that match @var{regexp}. | 605 that match @var{regexp}. |
604 @item M-x customize-changed-options @key{RET} @var{version} @key{RET} | 606 @item M-x customize-changed-options @key{RET} @var{version} @key{RET} |
605 Set up a customization buffer with all the options, faces and groups | 607 Set up a customization buffer with all the variables, faces and groups |
606 whose meaning has changed since Emacs version @var{version}. | 608 whose meaning has changed since Emacs version @var{version}. |
607 @item M-x customize-saved | 609 @item M-x customize-saved |
608 Set up a customization buffer containing all options and faces that you | 610 Set up a customization buffer containing all variables and faces that you |
609 have saved with customization buffers. | 611 have saved with customization buffers. |
610 @item M-x customize-customized | 612 @item M-x customize-customized |
611 Set up a customization buffer containing all options and faces that you | 613 Set up a customization buffer containing all variables and faces that you |
612 have customized but not saved. | 614 have customized but not saved. |
613 @end table | 615 @end table |
614 | 616 |
615 @findex customize-option | 617 @findex customize-variable |
616 If you want to alter a particular user option with the | 618 If you want to alter a particular variable with the customization |
617 customization buffer, and you know its name, you can use the command | 619 buffer, and you know its name, you can use the command @kbd{M-x |
618 @kbd{M-x customize-option} and specify the option name. This sets up | 620 customize-variable} and specify the variable name. This sets up the |
619 the customization buffer with just one option---the one that you asked | 621 customization buffer with just one variable---the one that you asked |
620 for. Editing, setting and saving the value work as described above, but | 622 for. Editing, setting and saving the value work as described above, |
621 only for the specified option. | 623 but only for the specified variable. |
622 | 624 |
623 @findex customize-face | 625 @findex customize-face |
624 Likewise, you can modify a specific face, chosen by name, using | 626 Likewise, you can modify a specific face, chosen by name, using |
625 @kbd{M-x customize-face}. By default it operates on the face used | 627 @kbd{M-x customize-face}. By default it operates on the face used |
626 on the character after point. | 628 on the character after point. |
648 customization buffer which shows all the options (and groups) whose | 650 customization buffer which shows all the options (and groups) whose |
649 definitions have been changed since the specified version. | 651 definitions have been changed since the specified version. |
650 | 652 |
651 @findex customize-saved | 653 @findex customize-saved |
652 @findex customize-customized | 654 @findex customize-customized |
653 If you change option values and then decide the change was a mistake, | 655 If you change option values and then decide the change was a |
654 you can use two special commands to revisit your previous changes. Use | 656 mistake, you can use two special commands to revisit your previous |
655 @kbd{M-x customize-saved} to look at the options and faces that you have | 657 changes. Use @kbd{M-x customize-saved} to look at the options that |
656 saved. Use @kbd{M-x customize-customized} to look at the options and | 658 you have saved. Use @kbd{M-x customize-customized} to look at the |
657 faces that you have set but not saved. | 659 options that you have set but not saved. |
658 | 660 |
659 @node Variables | 661 @node Variables |
660 @section Variables | 662 @section Variables |
661 @cindex variable | 663 @cindex variable |
662 @cindex option, user | 664 @cindex option, user |
677 feature is on for @emph{any} other value. The conventional value to use to | 679 feature is on for @emph{any} other value. The conventional value to use to |
678 turn on the feature---since you have to pick one particular value when you | 680 turn on the feature---since you have to pick one particular value when you |
679 set the variable---is @code{t}. | 681 set the variable---is @code{t}. |
680 | 682 |
681 Emacs uses many Lisp variables for internal record keeping, but the | 683 Emacs uses many Lisp variables for internal record keeping, but the |
682 most interesting variables for a non-programmer user are the @dfn{user | 684 most interesting variables for a non-programmer user are those that |
683 options}, the variables that are meant for users to change. Each user | 685 are also @dfn{user options}, the variables that are meant for users to |
684 option that you can set with the customization buffer is, in fact, a | 686 change. Each user option that you can set with the customization |
685 Lisp variable. Emacs does not (usually) change the values of these | 687 buffer is (if it is not a face) in fact a Lisp variable. Emacs does |
686 variables; instead, you set the values, and thereby alter and control | 688 not (usually) change the values of these variables; instead, you set |
687 the behavior of certain Emacs commands. Use of the customization | 689 the values, and thereby alter and control the behavior of certain |
688 buffer is explained above; here we describe other aspects of Emacs | 690 Emacs commands. Use of the customization buffer is explained above; |
689 variables. | 691 here we describe other aspects of Emacs variables. |
690 | 692 |
691 @menu | 693 @menu |
692 * Examining:: Examining or setting one variable's value. | 694 * Examining:: Examining or setting one variable's value. |
693 * Hooks:: Hook variables let you specify programs for parts | 695 * Hooks:: Hook variables let you specify programs for parts |
694 of Emacs to run on particular occasions. | 696 of Emacs to run on particular occasions. |
732 The star at the beginning of the documentation indicates that this | 734 The star at the beginning of the documentation indicates that this |
733 variable is a user option. @kbd{C-h v} is not restricted to user | 735 variable is a user option. @kbd{C-h v} is not restricted to user |
734 options; it allows any variable name. | 736 options; it allows any variable name. |
735 | 737 |
736 @findex set-variable | 738 @findex set-variable |
737 The most convenient way to set a specific user option is with @kbd{M-x | 739 The most convenient way to set a specific user option variable is |
738 set-variable}. This reads the variable name with the minibuffer (with | 740 with @kbd{M-x set-variable}. This reads the variable name with the |
739 completion), and then reads a Lisp expression for the new value using | 741 minibuffer (with completion), and then reads a Lisp expression for the |
740 the minibuffer a second time. For example, | 742 new value using the minibuffer a second time. For example, |
741 | 743 |
742 @example | 744 @example |
743 M-x set-variable @key{RET} fill-column @key{RET} 75 @key{RET} | 745 M-x set-variable @key{RET} fill-column @key{RET} 75 @key{RET} |
744 @end example | 746 @end example |
745 | 747 |
1090 | 1092 |
1091 @findex enable-local-eval | 1093 @findex enable-local-eval |
1092 The @code{eval} ``variable,'' and certain actual variables, create a | 1094 The @code{eval} ``variable,'' and certain actual variables, create a |
1093 special risk; when you visit someone else's file, local variable | 1095 special risk; when you visit someone else's file, local variable |
1094 specifications for these could affect your Emacs in arbitrary ways. | 1096 specifications for these could affect your Emacs in arbitrary ways. |
1095 Therefore, the option @code{enable-local-eval} controls whether Emacs | 1097 Therefore, the variable @code{enable-local-eval} controls whether Emacs |
1096 processes @code{eval} variables, as well variables with names that end | 1098 processes @code{eval} variables, as well variables with names that end |
1097 in @samp{-hook}, @samp{-hooks}, @samp{-function} or @samp{-functions}, | 1099 in @samp{-hook}, @samp{-hooks}, @samp{-function} or @samp{-functions}, |
1098 and certain other variables. The three possibilities for the option's | 1100 and certain other variables. The three possibilities for the variable's |
1099 value are @code{t}, @code{nil}, and anything else, just as for | 1101 value are @code{t}, @code{nil}, and anything else, just as for |
1100 @code{enable-local-variables}. The default is @code{maybe}, which is | 1102 @code{enable-local-variables}. The default is @code{maybe}, which is |
1101 neither @code{t} nor @code{nil}, so normally Emacs does ask for | 1103 neither @code{t} nor @code{nil}, so normally Emacs does ask for |
1102 confirmation about file settings for these variables. | 1104 confirmation about file settings for these variables. |
1103 | 1105 |