-File: xemacs.info, Node: Changing an Option, Next: Face Customization, Prev: Customization Groups, Up: Easy Customization
-
-Changing an Option
-..................
-
- Here is an example of what a user option looks like in the
-customization buffer:
-
- Kill Ring Max: [Hide] 30
- [State]: this option is unchanged from its standard setting.
- Maximum length of kill ring before oldest elements are thrown away.
-
- The text following `[Hide]', `30' in this case, indicates the
-current value of the option. If you see `[Show]' instead of `[Hide]',
-it means that the value is hidden; the customization buffer initially
-hides values that take up several lines. Invoke `[Show]' to show the
-value.
-
- The line after the option name indicates the "customization state"
-of the option: in the example above, it says you have not changed the
-option yet. The word `[State]' at the beginning of this line is
-active; you can get a menu of various operations by invoking it with
-`Mouse-1' or <RET>. These operations are essential for customizing the
-variable.
-
- The line after the `[State]' line displays the beginning of the
-option's documentation string. If there are more lines of
-documentation, this line ends with `[More]'; invoke this to show the
-full documentation string.
-
- To enter a new value for `Kill Ring Max', move point to the value
-and edit it textually. For example, you can type `M-d', then insert
-another number.
-
- When you begin to alter the text, you will see the `[State]' line
-change to say that you have edited the value:
-
- [State]: you have edited the value as text, but not set the option.
-
- Editing the value does not actually set the option variable. To do
-that, you must "set" the option. To do this, invoke the word `[State]'
-and choose `Set for Current Session'.
-
- The state of the option changes visibly when you set it:
-
- [State]: you have set this option, but not saved it for future sessions.
-
- You don't have to worry about specifying a value that is not valid;
-setting the option checks for validity and will not really install an
-unacceptable value.
-
- While editing a value or field that is a file name, directory name,
-command name, or anything else for which completion is defined, you can
-type `M-<TAB>' (`widget-complete') to do completion.
-
- Some options have a small fixed set of possible legitimate values.
-These options don't let you edit the value textually. Instead, an
-active field `[Value Menu]' appears before the value; invoke this field
-to edit the value. For a boolean "on or off" value, the active field
-says `[Toggle]', and it changes to the other value. `[Value Menu]' and
-`[Toggle]' edit the buffer; the changes take effect when you use the
-`Set for Current Session' operation.
-
- Some options have values with complex structure. For example, the
-value of `load-path' is a list of directories. Here is how it appears
-in the customization buffer:
-
- Load Path:
- [INS] [DEL] [Current dir?]: /usr/local/share/emacs/19.34.94/site-lisp
- [INS] [DEL] [Current dir?]: /usr/local/share/emacs/site-lisp
- [INS] [DEL] [Current dir?]: /usr/local/share/emacs/19.34.94/leim
- [INS] [DEL] [Current dir?]: /usr/local/share/emacs/19.34.94/lisp
- [INS] [DEL] [Current dir?]: /build/emacs/e19/lisp
- [INS] [DEL] [Current dir?]: /build/emacs/e19/lisp/gnus
- [INS]
- [State]: this item has been changed outside the customization buffer.
- List of directories to search for files to load....
-
-Each directory in the list appears on a separate line, and each line has
-several editable or active fields.
-
- You can edit any of the directory names. To delete a directory from
-the list, invoke `[DEL]' on that line. To insert a new directory in
-the list, invoke `[INS]' at the point where you want to insert it.
-
- You can also invoke `[Current dir?]' to switch between including a
-specific named directory in the path, and including `nil' in the path.
-(`nil' in a search path means "try the current directory.")
-
- Two special commands, <TAB> and `S-<TAB>', are useful for moving
-through the customization buffer. <TAB> (`widget-forward') moves
-forward to the next active or editable field; `S-<TAB>'
-(`widget-backward') moves backward to the previous active or editable
-field.
-
- Typing <RET> on an editable field also moves forward, just like
-<TAB>. The reason for this is that people have a tendency to type
-<RET> when they are finished editing a field. If you have occasion to
-insert a newline in an editable field, use `C-o' or `C-q C-j',
-
- Setting the option changes its value in the current Emacs session;
-"saving" the value changes it for future sessions as well. This works
-by writing code into your `~/.emacs' file so as to set the option
-variable again each time you start Emacs. To save the option, invoke
-`[State]' and select the `Save for Future Sessions' operation.
-
- You can also restore the option to its standard value by invoking
-`[State]' and selecting the `Reset' operation. There are actually
-three reset operations:
-
-`Reset to Current'
- If you have made some modifications and not yet set the option,
- this restores the text in the customization buffer to match the
- actual value.
-
-`Reset to Saved'
- This restores the value of the option to the last saved value, and
- updates the text accordingly.
-
-`Reset to Standard Settings'
- This sets the option to its standard value, and updates the text
- accordingly. This also eliminates any saved value for the option,
- so that you will get the standard value in future Emacs sessions.
-
- The state of a group indicates whether anything in that group has
-been edited, set or saved. You can select `Set for Current Session',
-`Save for Future Sessions' and the various kinds of `Reset' operation
-for the group; these operations on the group apply to all options in
-the group and its subgroups.
-
- Near the top of the customization buffer there are two lines
-containing several active fields:
-
- [Set] [Save] [Reset] [Done]
-
-Invoking `[Done]' buries this customization buffer. Each of the other
-fields performs an operation--set, save or reset--on each of the items
-in the buffer that could meaningfully be set, saved or reset.
+File: xemacs.info, Node: Diary Customizing, Next: Hebrew/Islamic Entries, Prev: Daylight Savings, Up: Calendar Customization
+
+Customizing the Diary
+.....................
+
+ Ordinarily, the mode line of the diary buffer window indicates any
+holidays that fall on the date of the diary entries. The process of
+checking for holidays can take several seconds, so including holiday
+information delays the display of the diary buffer noticeably. If you'd
+prefer to have a faster display of the diary buffer but without the
+holiday information, set the variable `holidays-in-diary-buffer' to
+`nil'.
+
+ The variable `number-of-diary-entries' controls the number of days
+of diary entries to be displayed at one time. It affects the initial
+display when `view-diary-entries-initially' is `t', as well as the
+command `M-x diary'. For example, the default value is 1, which says
+to display only the current day's diary entries. If the value is 2,
+both the current day's and the next day's entries are displayed. The
+value can also be a vector of seven elements: for example, if the value
+is `[0 2 2 2 2 4 1]' then no diary entries appear on Sunday, the
+current date's and the next day's diary entries appear Monday through
+Thursday, Friday through Monday's entries appear on Friday, while on
+Saturday only that day's entries appear.
+
+ The variable `print-diary-entries-hook' is a normal hook run after
+preparation of a temporary buffer containing just the diary entries
+currently visible in the diary buffer. (The other, irrelevant diary
+entries are really absent from the temporary buffer; in the diary
+buffer, they are merely hidden.) The default value of this hook does
+the printing with the command `lpr-buffer'. If you want to use a
+different command to do the printing, just change the value of this
+hook. Other uses might include, for example, rearranging the lines into
+order by day and time.
+
+ You can customize the form of dates in your diary file, if neither
+the standard American nor European styles suits your needs, by setting
+the variable `diary-date-forms'. This variable is a list of patterns
+for recognizing a date. Each date pattern is a list whose elements may
+be regular expressions (*note Regexps::) or the symbols `month', `day',
+`year', `monthname', and `dayname'. All these elements serve as
+patterns that match certain kinds of text in the diary file. In order
+for the date pattern, as a whole, to match, all of its elements must
+match consecutively.
+
+ A regular expression in a date pattern matches in its usual fashion,
+using the standard syntax table altered so that `*' is a word
+constituent.
+
+ The symbols `month', `day', `year', `monthname', and `dayname' match
+the month number, day number, year number, month name, and day name of
+the date being considered. The symbols that match numbers allow
+leading zeros; those that match names allow three-letter abbreviations
+and capitalization. All the symbols can match `*'; since `*' in a
+diary entry means "any day", "any month", and so on, it should match
+regardless of the date being considered.
+
+ The default value of `diary-date-forms' in the American style is
+this:
+
+ ((month "/" day "[^/0-9]")
+ (month "/" day "/" year "[^0-9]")
+ (monthname " *" day "[^,0-9]")
+ (monthname " *" day ", *" year "[^0-9]")
+ (dayname "\\W"))
+
+Emacs matches of the diary entries with the date forms is done with the
+standard syntax table from Fundamental mode (*note Syntax Tables:
+(lispref)Syntax Tables.), but with the `*' changed so that it is a word
+constituent.
+
+ The date patterns in the list must be _mutually exclusive_ and must
+not match any portion of the diary entry itself, just the date and one
+character of whitespace. If, to be mutually exclusive, the pattern
+must match a portion of the diary entry text--beyond the whitespace
+that ends the date--then the first element of the date pattern _must_
+be `backup'. This causes the date recognizer to back up to the
+beginning of the current word of the diary entry, after finishing the
+match. Even if you use `backup', the date pattern must absolutely not
+match more than a portion of the first word of the diary entry. The
+default value of `diary-date-forms' in the European style is this list:
+
+ ((day "/" month "[^/0-9]")
+ (day "/" month "/" year "[^0-9]")
+ (backup day " *" monthname "\\W+\\<[^*0-9]")
+ (day " *" monthname " *" year "[^0-9]")
+ (dayname "\\W"))
+
+Notice the use of `backup' in the third pattern, because it needs to
+match part of a word beyond the date itself to distinguish it from the
+fourth pattern.