+++ /dev/null
-This is Info file ../../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs.texi.
-
-INFO-DIR-SECTION XEmacs Editor
-START-INFO-DIR-ENTRY
-* XEmacs: (xemacs). XEmacs Editor.
-END-INFO-DIR-ENTRY
-
- This file documents the XEmacs editor.
-
- Copyright (C) 1985, 1986, 1988 Richard M. Stallman. Copyright (C)
-1991, 1992, 1993, 1994 Lucid, Inc. Copyright (C) 1993, 1994 Sun
-Microsystems, Inc. Copyright (C) 1995 Amdahl Corporation.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided also
-that the sections entitled "The GNU Manifesto", "Distribution" and "GNU
-General Public License" are included exactly as in the original, and
-provided that the entire resulting derived work is distributed under the
-terms of a permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that the sections entitled "The GNU Manifesto",
-"Distribution" and "GNU General Public License" may be included in a
-translation approved by the author instead of in the original English.
-
-\1f
-File: xemacs.info, Node: Basic Picture, Next: Insert in Picture, Prev: Picture, Up: Picture
-
-Basic Editing in Picture Mode
-=============================
-
- Most keys do the same thing in Picture mode that they usually do,
-but do it in a quarter-plane style. For example, `C-f' is rebound to
-run `picture-forward-column', which moves point one column to the
-right, by inserting a space if necessary, so that the actual end of the
-line makes no difference. `C-b' is rebound to run
-`picture-backward-column', which always moves point left one column,
-converting a tab to multiple spaces if necessary. `C-n' and `C-p' are
-rebound to run `picture-move-down' and `picture-move-up', which can
-either insert spaces or convert tabs as necessary to make sure that
-point stays in exactly the same column. `C-e' runs
-`picture-end-of-line', which moves to after the last non-blank
-character on the line. There was no need to change `C-a', as the choice
-of screen model does not affect beginnings of lines.
-
- Insertion of text is adapted to the quarter-plane screen model
-through the use of Overwrite mode (*note Minor Modes::.).
-Self-inserting characters replace existing text, column by column,
-rather than pushing existing text to the right. <RET> runs
-`picture-newline', which just moves to the beginning of the following
-line so that new text will replace that line.
-
- Text is erased instead of deleted and killed. <DEL>
-(`picture-backward-clear-column') replaces the preceding character with
-a space rather than removing it. `C-d' (`picture-clear-column') does
-the same in a forward direction. `C-k' (`picture-clear-line') really
-kills the contents of lines, but never removes the newlines from a
-buffer.
-
- To do actual insertion, you must use special commands. `C-o'
-(`picture-open-line') creates a blank line, but does so after the
-current line; it never splits a line. `C-M-o', `split-line', makes
-sense in Picture mode, so it remains unchanged. <LFD>
-(`picture-duplicate-line') inserts another line with the same contents
-below the current line.
-
- To actually delete parts of the picture, use `C-w', or with `C-c
-C-d' (which is defined as `delete-char', as `C-d' is in other modes),
-or with one of the picture rectangle commands (*note Rectangles in
-Picture::.).
-
-\1f
-File: xemacs.info, Node: Insert in Picture, Next: Tabs in Picture, Prev: Basic Picture, Up: Picture
-
-Controlling Motion After Insert
-===============================
-
- Since "self-inserting" characters just overwrite and move point in
-Picture mode, there is no essential restriction on how point should be
-moved. Normally point moves right, but you can specify any of the eight
-orthogonal or diagonal directions for motion after a "self-inserting"
-character. This is useful for drawing lines in the buffer.
-
-`C-c <'
- Move left after insertion (`picture-movement-left').
-
-`C-c >'
- Move right after insertion (`picture-movement-right').
-
-`C-c ^'
- Move up after insertion (`picture-movement-up').
-
-`C-c .'
- Move down after insertion (`picture-movement-down').
-
-`C-c `'
- Move up and left ("northwest") after insertion
- (`picture-movement-nw').
-
-`C-c ''
- Move up and right ("northeast") after insertion
- (`picture-movement-ne').
-
-`C-c /'
- Move down and left ("southwest") after insertion
- (`picture-movement-sw').
-
-`C-c \'
- Move down and right ("southeast") after insertion
- (`picture-movement-se').
-
- Two motion commands move based on the current Picture insertion
-direction. The command `C-c C-f' (`picture-motion') moves in the same
-direction as motion after "insertion" currently does, while `C-c C-b'
-(`picture-motion-reverse') moves in the opposite direction.
-
-\1f
-File: xemacs.info, Node: Tabs in Picture, Next: Rectangles in Picture, Prev: Insert in Picture, Up: Picture
-
-Picture Mode Tabs
-=================
-
- Two kinds of tab-like action are provided in Picture mode.
-Context-based tabbing is done with `M-<TAB>' (`picture-tab-search').
-With no argument, it moves to a point underneath the next "interesting"
-character that follows whitespace in the previous non-blank line.
-"Next" here means "appearing at a horizontal position greater than the
-one point starts out at". With an argument, as in `C-u M-<TAB>', the
-command moves to the next such interesting character in the current
-line. `M-<TAB>' does not change the text; it only moves point.
-"Interesting" characters are defined by the variable
-`picture-tab-chars', which contains a string of characters considered
-interesting. Its default value is `"!-~"'.
-
- <TAB> itself runs `picture-tab', which operates based on the current
-tab stop settings; it is the Picture mode equivalent of
-`tab-to-tab-stop'. Without arguments it just moves point, but with a
-numeric argument it clears the text that it moves over.
-
- The context-based and tab-stop-based forms of tabbing are brought
-together by the command `C-c <TAB>' (`picture-set-tab-stops'.) This
-command sets the tab stops to the positions which `M-<TAB>' would
-consider significant in the current line. If you use this command with
-<TAB>, you can get the effect of context-based tabbing. But `M-<TAB>'
-is more convenient in the cases where it is sufficient.
-
-\1f
-File: xemacs.info, Node: Rectangles in Picture, Prev: Tabs in Picture, Up: Picture
-
-Picture Mode Rectangle Commands
-===============================
-
- Picture mode defines commands for working on rectangular pieces of
-the text in ways that fit with the quarter-plane model. The standard
-rectangle commands may also be useful (*note Rectangles::.).
-
-`C-c C-k'
- Clear out the region-rectangle (`picture-clear-rectangle'). With
- argument, kill it.
-
-`C-c C-w R'
- Similar but save rectangle contents in register R first
- (`picture-clear-rectangle-to-register').
-
-`C-c C-y'
- Copy last killed rectangle into the buffer by overwriting, with
- upper left corner at point (`picture-yank-rectangle'). With
- argument, insert instead.
-
-`C-c C-x R'
- Similar, but use the rectangle in register R
- (`picture-yank-rectangle-from-register').
-
- The picture rectangle commands `C-c C-k' (`picture-clear-rectangle')
-and `C-c C-w' (`picture-clear-rectangle-to-register') differ from the
-standard rectangle commands in that they normally clear the rectangle
-instead of deleting it; this is analogous with the way `C-d' is changed
-in Picture mode.
-
- However, deletion of rectangles can be useful in Picture mode, so
-these commands delete the rectangle if given a numeric argument.
-
- The Picture mode commands for yanking rectangles differ from the
-standard ones in overwriting instead of inserting. This is the same
-way that Picture mode insertion of other text is different from other
-modes. `C-c C-y' (`picture-yank-rectangle') inserts (by overwriting)
-the rectangle that was most recently killed, while `C-c C-x'
-(`picture-yank-rectangle-from-register') does for the rectangle found
-in a specified register.
-
- Since most region commands in Picture mode operate on rectangles,
-when you select a region of text with the mouse in Picture mode, it is
-highlighted as a rectangle.
-
-\1f
-File: xemacs.info, Node: Sending Mail, Next: Reading Mail, Prev: Picture, Up: Top
-
-Sending Mail
-************
-
- To send a message in Emacs, start by typing the command (`C-x m') to
-select and initialize the `*mail*' buffer. You can then edit the text
-and headers of the message in the mail buffer, and type the command
-(`C-c C-c') to send the message.
-
-`C-x m'
- Begin composing a message to send (`mail').
-
-`C-x 4 m'
- Likewise, but display the message in another window
- (`mail-other-window').
-
-`C-c C-c'
- In Mail mode, send the message and switch to another buffer
- (`mail-send-and-exit').
-
- The command `C-x m' (`mail') selects a buffer named `*mail*' and
-initializes it with the skeleton of an outgoing message. `C-x 4 m'
-(`mail-other-window') selects the `*mail*' buffer in a different
-window, leaving the previous current buffer visible.
-
- Because the buffer for mail composition is an ordinary Emacs buffer,
-you can switch to other buffers while in the middle of composing mail,
-and switch back later (or never). If you use the `C-x m' command again
-when you have been composing another message but have not sent it, a
-new mail buffer will be created; in this way, you can compose multiple
-messages at once. You can switch back to and complete an unsent
-message by using the normal buffer selection mechanisms.
-
- `C-u C-x m' is another way to switch back to a message in progress:
-it will search for an existing, unsent mail message buffer and select
-it.
-
-* Menu:
-
-* Format: Mail Format. Format of the mail being composed.
-* Headers: Mail Headers. Details of allowed mail header fields.
-* Mode: Mail Mode. Special commands for editing mail being composed.
-
-\1f
-File: xemacs.info, Node: Mail Format, Next: Mail Headers, Prev: Sending Mail, Up: Sending Mail
-
-The Format of the Mail Buffer
-=============================
-
- In addition to the "text" or contents, a message has "header
-fields", which say who sent it, when, to whom, why, and so on. Some
-header fields, such as the date and sender, are created automatically
-after the message is sent. Others, such as the recipient names, must
-be specified by you in order to send the message properly.
-
- Mail mode provides a few commands to help you edit some header
-fields, and some are preinitialized in the buffer automatically at
-times. You can insert or edit any header fields using ordinary editing
-commands.
-
- The line in the buffer that says:
-
- --text follows this line--
-
-is a special delimiter that separates the headers you have specified
-from the text. Whatever follows this line is the text of the message;
-the headers precede it. The delimiter line itself does not appear in
-the message actually sent. The text used for the delimiter line is
-controlled by the variable `mail-header-separator'.
-
- Here is an example of what the headers and text in the `*mail*'
-buffer might look like.
-
- To: rms@mc
- CC: mly@mc, rg@oz
- Subject: The XEmacs User's Manual
- --Text follows this line--
- Please ignore this message.
-
-\1f
-File: xemacs.info, Node: Mail Headers, Next: Mail Mode, Prev: Mail Format, Up: Sending Mail
-
-Mail Header Fields
-==================
-
- There are several header fields you can use in the `*mail*' buffer.
-Each header field starts with a field name at the beginning of a line,
-terminated by a colon. It does not matter whether you use upper or
-lower case in the field name. After the colon and optional whitespace
-comes the contents of the field.
-
-`To'
- This field contains the mailing addresses of the message.
-
-`Subject'
- The contents of the `Subject' field should be a piece of text that
- says what the message is about. Subject fields are useful because
- most mail-reading programs can provide a summary of messages,
- listing the subject of each message but not its text.
-
-`CC'
- This field contains additional mailing addresses to send the
- message to, but whose readers should not regard the message as
- addressed to them.
-
-`BCC'
- This field contains additional mailing addresses to send the
- message to, but which should not appear in the header of the
- message actually sent.
-
-`FCC'
- This field contains the name of one file (in Unix mail file
- format) to which a copy of the message should be appended when the
- message is sent.
-
-`From'
- Use the `From' field to say who you are, when the account you are
- using to send the mail is not your own. The contents of the
- `From' field should be a valid mailing address, since replies will
- normally go there.
-
-`Reply-To'
- Use the `Reply-To' field to direct replies to a different address,
- not your own. `From' and `Reply-To' have the same effect on where
- replies go, but they convey a different meaning to the person who
- reads the message.
-
-`In-Reply-To'
- This field contains a piece of text describing a message you are
- replying to. Some mail systems can use the information to
- correlate related pieces of mail. This field is normally filled
- in by your mail handling package when you are replying to a
- message and you never need to think about it.
-
-The `To', `CC', `BCC' and `FCC' fields can appear any number of times,
-to specify many places to send the message.
-
-The `To', `CC', and `BCC', fields can have continuation lines. All the
-lines starting with whitespace, following the line on which the field
-starts, are considered part of the field. For example,
-
- To: foo@here, this@there,
- me@gnu.cambridge.mass.usa.earth.spiral3281
-
-If you have a `~/.mailrc' file, Emacs scans it for mail aliases the
-first time you try to send mail in an Emacs session. Emacs expands
-aliases found in the `To', `CC', and `BCC' fields where appropriate.
-You can set the variable `mail-abbrev-mailrc-file' to the name of the
-file with mail aliases. If `nil', `~/.mailrc' is used.
-
- Your `.mailrc' file ensures that word-abbrevs are defined for each
-of your mail aliases when point is in a `To', `CC', `BCC', or `From'
-field. The aliases are defined in your `.mailrc' file or in a file
-specified by the MAILRC environment variable if it exists. Your mail
-aliases expand any time you type a word-delimiter at the end of an
-abbreviation.
-
- In this version of Emacs, what you see is what you get: in contrast
-to some other versions, no abbreviations are expanded after you have
-sent the mail. This means you don't suffer the annoyance of having the
-system do things behind your back -- if the system rewrites an address
-you typed, you know it immediately, instead of after the mail has been
-sent and it's too late to do anything about it. For example, you will
-never again be in trouble because you forgot to delete an old alias
-from your `.mailrc' and a new local user is given a userid which
-conflicts with one of your aliases.
-
- Your mail alias abbrevs are in effect only when point is in an
-appropriate header field. The mail aliases will not expand in the body
-of the message, or in other header fields. The default mode-specific
-abbrev table `mail-mode-abbrev-table' is used instead if defined. That
-means if you have been using mail-mode specific abbrevs, this code will
-not adversely affect you. You can control which header fields the
-abbrevs are used in by changing the variable `mail-abbrev-mode-regexp'.
-
- If auto-fill mode is on, abbrevs wrap at commas instead of at word
-boundaries, and header continuation lines will be properly indented.
-
- You can also insert a mail alias with
-`mail-interactive-insert-alias'. This function, which is bound to `C-c
-C-a', prompts you for an alias (with completion) and inserts its
-expansion at point.
-
- In this version of Emacs, it is possible to have lines like the
-following in your `.mailrc' file:
-
- alias someone "John Doe <doe@quux.com>"
-
- That is, if you want an address to have embedded spaces, simply
-surround it with double-quotes. The quotes are necessary because the
-format of the `.mailrc' file uses spaces as address delimiters.
-
- Aliases in the `.mailrc' file may be nested. For example, assume you
-define aliases like:
- alias group1 fred ethel
- alias group2 larry curly moe
- alias everybody group1 group2
-
- When you now type `everybody' on the `To' line, it will expand to:
- fred, ethyl, larry, curly, moe
-
- Aliases may contain forward references; the alias of `everybody' in
-the example above can precede the aliases of `group1' and `group2'.
-
- In this version of Emacs, you can use the `source' `.mailrc' command
-for reading aliases from some other file as well.
-
- Aliases may contain hyphens, as in `"alias foo-bar foo@bar"', even
-though word-abbrevs normally cannot contain hyphens.
-
- To read in the contents of another `.mailrc'-type file from Emacs,
-use the command `M-x merge-mail-aliases'. The `rebuild-mail-aliases'
-command is similar, but deletes existing aliases first.
-
- If you want multiple addresses separated by a string other than `,'
-(a comma), then set the variable `mail-alias-seperator-string' to it.
-This has to be a comma bracketed by whitespace if you want any kind of
-reasonable behavior.
-
- If the variable `mail-archive-file-name' is non-`nil', it should be
-a string naming a file. Each time you start to edit a message to send,
-an `FCC' field is entered for that file. Unless you remove the `FCC'
-field, every message is written into that file when it is sent.
-
-\1f
-File: xemacs.info, Node: Mail Mode, Prev: Mail Headers, Up: Sending Mail
-
-Mail Mode
-=========
-
- The major mode used in the `*mail*' buffer is Mail mode. Mail mode
-is similar to Text mode, but several commands are provided on the `C-c'
-prefix. These commands all deal specifically with editing or sending
-the message.
-
-`C-c C-s'
- Send the message, and leave the `*mail*' buffer selected
- (`mail-send').
-
-`C-c C-c'
- Send the message, and select some other buffer
- (`mail-send-and-exit').
-
-`C-c C-f C-t'
- Move to the `To' header field, creating one if there is none
- (`mail-to').
-
-`C-c C-f C-s'
- Move to the `Subject' header field, creating one if there is none
- (`mail-subject').
-
-`C-c C-f C-c'
- Move to the `CC' header field, creating one if there is none
- (`mail-cc').
-
-`C-c C-w'
- Insert the file `~/.signature' at the end of the message text
- (`mail-signature').
-
-`C-c C-y'
- Yank the selected message (`mail-yank-original').
-
-`C-c C-q'
- Fill all paragraphs of yanked old messages, each individually
- (`mail-fill-yanked-message').
-
-`<button3>'
- Pops up a menu of useful mail-mode commands.
-
- There are two ways to send a message. `C-c C-c'
-(`mail-send-and-exit') is the usual way to send the message. It sends
-the message and then deletes the window (if there is another window) or
-switches to another buffer. It puts the `*mail*' buffer at the lowest
-priority for automatic reselection, since you are finished with using
-it. `C-c C-s' (`mail-send') sends the message and marks the `*mail*'
-buffer unmodified, but leaves that buffer selected so that you can
-modify the message (perhaps with new recipients) and send it again.
-
- Mail mode provides some other special commands that are useful for
-editing the headers and text of the message before you send it. There
-are three commands defined to move point to particular header fields,
-all based on the prefix `C-c C-f' (`C-f' is for "field"). They are
-`C-c C-f C-t' (`mail-to') to move to the `To' field, `C-c C-f C-s'
-(`mail-subject') for the `Subject' field, and `C-c C-f C-c' (`mail-cc')
-for the `CC' field. These fields have special motion commands because
-they are edited most frequently.
-
- `C-c C-w' (`mail-signature') adds a standard piece of text at the
-end of the message to say more about who you are. The text comes from
-the file `.signature' in your home directory.
-
- When you use an Rmail command to send mail from the Rmail mail
-reader, you can use `C-c C-y' `mail-yank-original' inside the `*mail*'
-buffer to insert the text of the message you are replying to. Normally
-Rmail indents each line of that message four spaces and eliminates most
-header fields. A numeric argument specifies the number of spaces to
-indent. An argument of just `C-u' says not to indent at all and not to
-eliminate anything. `C-c C-y' always uses the current message from the
-`RMAIL' buffer, so you can insert several old messages by selecting one
-in `RMAIL', switching to `*mail*' and yanking it, then switching back
-to `RMAIL' to select another.
-
- After using `C-c C-y', you can use the command `C-c C-q'
-(`mail-fill-yanked-message') to fill the paragraphs of the yanked old
-message or messages. One use of `C-c C-q' fills all such paragraphs,
-each one separately.
-
- Clicking the right mouse button in a mail buffer pops up a menu of
-the above commands, for easy access.
-
- Turning on Mail mode (which `C-x m' does automatically) calls the
-value of `text-mode-hook', if it is not void or `nil', and then calls
-the value of `mail-mode-hook' if that is not void or `nil'.
-
-\1f
-File: xemacs.info, Node: Reading Mail, Next: Calendar/Diary, Prev: Sending Mail, Up: Top
-
-Reading Mail
-************
-
- XEmacs provides three separate mail-reading packages. Each one
-comes with its own manual, which is included standard with the XEmacs
-distribution.
-
- The recommended mail-reading package for new users is VM. VM works
-with standard Unix-mail-format folders and was designed as a replacement
-for the older Rmail.
-
- XEmacs also provides a sophisticated and comfortable front-end to the
-MH mail-processing system, called `mh-e'. Unlike in other mail
-programs, folders in MH are stored as file-system directories, with
-each message occupying one (numbered) file. This facilitates working
-with mail using shell commands, and many other features of MH are also
-designed to integrate well with the shell and with shell scripts. Keep
-in mind, however, that in order to use mh-e you must have the MH
-mail-processing system installed on your computer.
-
- Finally, XEmacs provides the Rmail package. Rmail is (currently) the
-only mail reading package distributed with FSF GNU Emacs, and is
-powerful in its own right. However, it stores mail folders in a special
-format called `Babyl', that is incompatible with all other
-frequently-used mail programs. A utility program is provided for
-converting Babyl folders to standard Unix-mail format; however, unless
-you already have mail in Babyl-format folders, you should consider
-using VM or mh-e instead. (If at times you have to use FSF Emacs, it is
-not hard to obtain and install VM for that editor.)
-
-\1f
-File: xemacs.info, Node: Calendar/Diary, Next: Sorting, Prev: Reading Mail, Up: Top
-
-Calendar Mode and the Diary
-===========================
-
- Emacs provides the functions of a desk calendar, with a diary of
-planned or past events. To enter the calendar, type `M-x calendar';
-this displays a three-month calendar centered on the current month, with
-point on the current date. With a numeric argument, as in `C-u M-x
-calendar', it prompts you for the month and year to be the center of the
-three-month calendar. The calendar uses its own buffer, whose major
-mode is Calendar mode.
-
- `Button2' in the calendar brings up a menu of operations on a
-particular date; `Buttons3' brings up a menu of commonly used calendar
-features that are independent of any particular date. To exit the
-calendar, type `q'. *Note Customizing the Calendar and Diary:
-(elisp)Calendar, for customization information about the calendar and
-diary.
-
-* Menu:
-
-* Calendar Motion:: Moving through the calendar; selecting a date.
-* Scroll Calendar:: Bringing earlier or later months onto the screen.
-* Mark and Region:: Remembering dates, the mark ring.
-* General Calendar:: Exiting or recomputing the calendar.
-* LaTeX Calendar:: Print a calendar using LaTeX.
-* Holidays:: Displaying dates of holidays.
-* Sunrise/Sunset:: Displaying local times of sunrise and sunset.
-* Lunar Phases:: Displaying phases of the moon.
-* Other Calendars:: Converting dates to other calendar systems.
-* Diary:: Displaying events from your diary.
-* Calendar Customization:: Altering the behavior of the features above.
-
-\1f
-File: xemacs.info, Node: Calendar Motion, Next: Scroll Calendar, Prev: Calendar/Diary, Up: Calendar/Diary
-
-Movement in the Calendar
-------------------------
-
- Calendar mode lets you move through the calendar in logical units of
-time such as days, weeks, months, and years. If you move outside the
-three months originally displayed, the calendar display "scrolls"
-automatically through time to make the selected date visible. Moving to
-a date lets you view its holidays or diary entries, or convert it to
-other calendars; moving longer time periods is also useful simply to
-scroll the calendar.
-
-* Menu:
-
-* Calendar Unit Motion:: Moving by days, weeks, months, and years.
-* Move to Beginning or End:: Moving to start/end of weeks, months, and years.
-* Specified Dates:: Moving to the current date or another
- specific date.
-
-\1f
-File: xemacs.info, Node: Calendar Unit Motion, Next: Move to Beginning or End, Prev: Calendar Motion, Up: Calendar Motion
-
-Motion by Integral Days, Weeks, Months, Years
-.............................................
-
- The commands for movement in the calendar buffer parallel the
-commands for movement in text. You can move forward and backward by
-days, weeks, months, and years.
-
-`C-f'
- Move point one day forward (`calendar-forward-day').
-
-`C-b'
- Move point one day backward (`calendar-backward-day').
-
-`C-n'
- Move point one week forward (`calendar-forward-week').
-
-`C-p'
- Move point one week backward (`calendar-backward-week').
-
-`M-}'
- Move point one month forward (`calendar-forward-month').
-
-`M-{'
- Move point one month backward (`calendar-backward-month').
-
-`C-x ]'
- Move point one year forward (`calendar-forward-year').
-
-`C-x ['
- Move point one year backward (`calendar-backward-year').
-
- The day and week commands are natural analogues of the usual Emacs
-commands for moving by characters and by lines. Just as `C-n' usually
-moves to the same column in the following line, in Calendar mode it
-moves to the same day in the following week. And `C-p' moves to the
-same day in the previous week.
-
- The arrow keys are equivalent to `C-f', `C-b', `C-n' and `C-p', just
-as they normally are in other modes.
-
- The commands for motion by months and years work like those for
-weeks, but move a larger distance. The month commands `M-}' and `M-{'
-move forward or backward by an entire month's time. The year commands
-`C-x ]' and `C-x [' move forward or backward a whole year.
-
- The easiest way to remember these commands is to consider months and
-years analogous to paragraphs and pages of text, respectively. But the
-commands themselves are not quite analogous. The ordinary Emacs
-paragraph commands move to the beginning or end of a paragraph, whereas
-these month and year commands move by an entire month or an entire
-year, which usually involves skipping across the end of a month or year.
-
- All these commands accept a numeric argument as a repeat count. For
-convenience, the digit keys and the minus sign specify numeric
-arguments in Calendar mode even without the Meta modifier. For example,
-`100 C-f' moves point 100 days forward from its present location.
-
-\1f
-File: xemacs.info, Node: Move to Beginning or End, Next: Specified Dates, Prev: Calendar Unit Motion, Up: Calendar Motion
-
-Beginning or End of Week, Month or Year
-.......................................
-
- A week (or month, or year) is not just a quantity of days; we think
-of weeks (months, years) as starting on particular dates. So Calendar
-mode provides commands to move to the beginning or end of a week, month
-or year:
-
-`C-a'
- Move point to start of week (`calendar-beginning-of-week').
-
-`C-e'
- Move point to end of week (`calendar-end-of-week').
-
-`M-a'
- Move point to start of month (`calendar-beginning-of-month').
-
-`M-e'
- Move point to end of month (`calendar-end-of-month').
-
-`M-<'
- Move point to start of year (`calendar-beginning-of-year').
-
-`M->'
- Move point to end of year (`calendar-end-of-year').
-
- These commands also take numeric arguments as repeat counts, with the
-repeat count indicating how many weeks, months, or years to move
-backward or forward.
-
- By default, weeks begin on Sunday. To make them begin on Monday
-instead, set the variable `calendar-week-start-day' to 1.
-
-\1f
-File: xemacs.info, Node: Specified Dates, Prev: Move to Beginning or End, Up: Calendar Motion
-
-Particular Dates
-................
-
- Calendar mode provides commands for moving to a particular date
-specified in various ways.
-
-`g d'
- Move point to specified date (`calendar-goto-date').
-
-`o'
- Center calendar around specified month (`calendar-other-month').
-
-`.'
- Move point to today's date (`calendar-goto-today').
-
- `g d' (`calendar-goto-date') prompts for a year, a month, and a day
-of the month, and then moves to that date. Because the calendar
-includes all dates from the beginning of the current era, you must type
-the year in its entirety; that is, type `1990', not `90'.
-
- `o' (`calendar-other-month') prompts for a month and year, then
-centers the three-month calendar around that month.
-
- You can return to today's date with `.' (`calendar-goto-today').
-
-\1f
-File: xemacs.info, Node: Scroll Calendar, Next: Mark and Region, Prev: Calendar Motion, Up: Calendar/Diary
-
-Scrolling the Calendar through Time
------------------------------------
-
- The calendar display scrolls automatically through time when you
-move out of the visible portion. You can also scroll it manually.
-Imagine that the calendar window contains a long strip of paper with
-the months on it. Scrolling it means moving the strip so that new
-months become visible in the window.
-
-`C-x <'
- Scroll calendar one month forward (`scroll-calendar-left').
-
-`C-x >'
- Scroll calendar one month backward (`scroll-calendar-right').
-
-`C-v'
-`<NEXT>'
- Scroll calendar three months forward
- (`scroll-calendar-left-three-months').
-
-`M-v'
-`<PRIOR>'
- Scroll calendar three months backward
- (`scroll-calendar-right-three-months').
-
- The most basic calendar scroll commands scroll by one month at a
-time. This means that there are two months of overlap between the
-display before the command and the display after. `C-x <' scrolls the
-calendar contents one month to the left; that is, it moves the display
-forward in time. `C-x >' scrolls the contents to the right, which
-moves backwards in time.
-
- The commands `C-v' and `M-v' scroll the calendar by an entire
-"screenful"--three months--in analogy with the usual meaning of these
-commands. `C-v' makes later dates visible and `M-v' makes earlier
-dates visible. These commands take a numeric argument as a repeat
-count; in particular, since `C-u' multiplies the next command by four,
-typing `C-u C-v' scrolls the calendar forward by a year and typing `C-u
-M-v' scrolls the calendar backward by a year.
-
- The function keys <NEXT> and <PRIOR> are equivalent to `C-v' and
-`M-v', just as they are in other modes.
-
-\1f
-File: xemacs.info, Node: Mark and Region, Next: General Calendar, Prev: Scroll Calendar, Up: Calendar/Diary
-
-The Mark and the Region
------------------------
-
- The concept of the mark applies to the calendar just as to any other
-buffer, but it marks a *date*, not a *position* in the buffer. The
-region consists of the days between the mark and point (including the
-starting and stopping dates).
-
-`C-SPC'
- Set the mark to today's date (`calendar-set-mark').
-
-`C-@'
- The same.
-
-`C-x C-x'
- Interchange mark and point (`calendar-exchange-point-and-mark').
-
-`M-='
- Display the number of days in the current region
- (`calendar-count-days-region').
-
- You set the mark in the calendar, as in any other buffer, by using
-`C-@' or `C-SPC' (`calendar-set-mark'). You return to the marked date
-with the command `C-x C-x' (`calendar-exchange-point-and-mark') which
-puts the mark where point was and point where mark was. The calendar
-is scrolled as necessary, if the marked date was not visible on the
-screen. This does not change the extent of the region.
-
- To determine the number of days in the region, type `M-='
-(`calendar-count-days-region'). The numbers of days printed is
-*inclusive*; that is, it includes the days specified by mark and point.
-
- The main use of the mark in the calendar is to remember dates that
-you may want to go back to. To make this feature more useful, the mark
-ring (*note Mark Ring::.) operates exactly as in other buffers: Emacs
-remembers 16 previous locations of the mark. To return to a marked
-date, type `C-u C-SPC' (or `C-u C-@'); this is the command
-`calendar-set-mark' given a numeric argument. It moves point to where
-the mark was, restores the mark from the ring of former marks, and
-stores the previous point at the end of the mark ring. So, repeated
-use of this command moves point through all the old marks on the ring,
-one by one.
-
-\1f
-File: xemacs.info, Node: General Calendar, Next: LaTeX Calendar, Prev: Mark and Region, Up: Calendar/Diary
-
-Miscellaneous Calendar Commands
--------------------------------
-
-`p d'
- Display day-in-year (`calendar-print-day-of-year').
-
-`?'
- Briefly describe calendar commands (`describe-calendar-mode').
-
-`C-c C-l'
- Regenerate the calendar window (`redraw-calendar').
-
-`SPC'
- Scroll the next window (`scroll-other-window').
-
-`q'
- Exit from calendar (`exit-calendar').
-
- If you want to know how many days have elapsed since the start of
-the year, or the number of days remaining in the year, type the `p d'
-command (`calendar-print-day-of-year'). This displays both of those
-numbers in the echo area.
-
- To display a brief description of the calendar commands, type `?'
-(`describe-calendar-mode'). For a fuller description, type `C-h m'.
-
- You can use `SPC' (`scroll-other-window') to scroll the other
-window. This is handy when you display a list of holidays or diary
-entries in another window.
-
- If the calendar window text gets corrupted, type `C-c C-l'
-(`redraw-calendar') to redraw it. (This can only happen if you use
-non-Calendar-mode editing commands.)
-
- In Calendar mode, you can use `SPC' (`scroll-other-window') to
-scroll the other window. This is handy when you display a list of
-holidays or diary entries in another window.
-
- To exit from the calendar, type `q' (`exit-calendar'). This buries
-all buffers related to the calendar, selecting other buffers. (If a
-frame contains a dedicated calendar window, exiting from the calendar
-iconifies that frame.)
-
-\1f
-File: xemacs.info, Node: LaTeX Calendar, Next: Holidays, Prev: General Calendar, Up: Calendar/Diary
-
-LaTeX Calendar
-==============
-
- The Calendar LaTeX commands produce a buffer of LaTeX code that
-prints as a calendar. Depending on the command you use, the printed
-calendar covers the day, week, month or year that point is in.
-
-`t m'
- Generate a one-month calendar (`cal-tex-cursor-month').
-
-`t M'
- Generate a sideways-printing one-month calendar
- (`cal-tex-cursor-month-landscape').
-
-`t d'
- Generate a one-day calendar (`cal-tex-cursor-day').
-
-`t w 1'
- Generate a one-page calendar for one week (`cal-tex-cursor-week').
-
-`t w 2'
- Generate a two-page calendar for one week (`cal-tex-cursor-week2').
-
-`t w 3'
- Generate an ISO-style calendar for one week
- (`cal-tex-cursor-week-iso').
-
-`t w 4'
- Generate a calendar for one Monday-starting week
- (`cal-tex-cursor-week-monday').
-
-`t f w'
- Generate a Filofax-style two-weeks-at-a-glance calendar
- (`cal-tex-cursor-filofax-2week').
-
-`t f W'
- Generate a Filofax-style one-week-at-a-glance calendar
- (`cal-tex-cursor-filofax-week').
-
-`t y'
- Generate a calendar for one year (`cal-tex-cursor-year').
-
-`t Y'
- Generate a sideways-printing calendar for one year
- (`cal-tex-cursor-year-landscape').
-
-`t f y'
- Generate a Filofax-style calendar for one year
- (`cal-tex-cursor-filofax-year').
-
- Some of these commands print the calendar sideways (in "landscape
-mode"), so it can be wider than it is long. Some of them use Filofax
-paper size (3.75in x 6.75in). All of these commands accept a prefix
-argument which specifies how many days, weeks, months or years to print
-(starting always with the selected one).
-
- If the variable `cal-tex-holidays' is non-`nil' (the default), then
-the printed calendars show the holidays in `calendar-holidays'. If the
-variable `cal-tex-diary' is non-`nil' (the default is `nil'), diary
-entries are included also (in weekly and monthly calendars only).
-
-\1f
-File: xemacs.info, Node: Holidays, Next: Sunrise/Sunset, Prev: LaTeX Calendar, Up: Calendar/Diary
-
-Holidays
---------
-
- The Emacs calendar knows about all major and many minor holidays,
-and can display them.
-
-`h'
- Display holidays for the selected date
- (`calendar-cursor-holidays').
-
-`Button2 Holidays'
- Display any holidays for the date you click on.
-
-`x'
- Mark holidays in the calendar window (`mark-calendar-holidays').
-
-`u'
- Unmark calendar window (`calendar-unmark').
-
-`a'
- List all holidays for the displayed three months in another window
- (`list-calendar-holidays').
-
-`M-x holidays'
- List all holidays for three months around today's date in another
- window.
-
-`M-x list-holidays'
- List holidays in another window for a specified range of years.
-
- To see if any holidays fall on a given date, position point on that
-date in the calendar window and use the `h' command. Alternatively,
-click on that date with `Button2' and then choose `Holidays' from the
-menu that appears. Either way, this displays the holidays for that
-date, in the echo area if they fit there, otherwise in a separate
-window.
-
- To view the distribution of holidays for all the dates shown in the
-calendar, use the `x' command. This displays the dates that are
-holidays in a different face (or places a `*' after these dates, if
-display with multiple faces is not available). The command applies both
-to the currently visible months and to other months that subsequently
-become visible by scrolling. To turn marking off and erase the current
-marks, type `u', which also erases any diary marks (*note Diary::.).
-
- To get even more detailed information, use the `a' command, which
-displays a separate buffer containing a list of all holidays in the
-current three-month range. You can use <SPC> in the calendar window to
-scroll that list.
-
- The command `M-x holidays' displays the list of holidays for the
-current month and the preceding and succeeding months; this works even
-if you don't have a calendar window. If you want the list of holidays
-centered around a different month, use `C-u M-x holidays', which
-prompts for the month and year.
-
- The holidays known to Emacs include United States holidays and the
-major Christian, Jewish, and Islamic holidays; also the solstices and
-equinoxes.
-
- The command `M-x list-holidays' displays the list of holidays for a
-range of years. This function asks you for the starting and stopping
-years, and allows you to choose all the holidays or one of several
-categories of holidays. You can use this command even if you don't have
-a calendar window.
-
- The dates used by Emacs for holidays are based on *current
-practice*, not historical fact. Historically, for instance, the start
-of daylight savings time and even its existence have varied from year to
-year, but present United States law mandates that daylight savings time
-begins on the first Sunday in April. When the daylight savings rules
-are set up for the United States, Emacs always uses the present
-definition, even though it is wrong for some prior years.
-
-\1f
-File: xemacs.info, Node: Sunrise/Sunset, Next: Lunar Phases, Prev: Holidays, Up: Calendar/Diary
-
-Times of Sunrise and Sunset
----------------------------
-
- Special calendar commands can tell you, to within a minute or two,
-the times of sunrise and sunset for any date.
-
-`S'
- Display times of sunrise and sunset for the selected date
- (`calendar-sunrise-sunset').
-
-`Button2 Sunrise/Sunset'
- Display times of sunrise and sunset for the date you click on.
-
-`M-x sunrise-sunset'
- Display times of sunrise and sunset for today's date.
-
-`C-u M-x sunrise-sunset'
- Display times of sunrise and sunset for a specified date.
-
- Within the calendar, to display the *local times* of sunrise and
-sunset in the echo area, move point to the date you want, and type `S'.
-Alternatively, click `Button2' on the date, then choose
-`Sunrise/Sunset' from the menu that appears. The command `M-x
-sunrise-sunset' is available outside the calendar to display this
-information for today's date or a specified date. To specify a date
-other than today, use `C-u M-x sunrise-sunset', which prompts for the
-year, month, and day.
-
- You can display the times of sunrise and sunset for any location and
-any date with `C-u C-u M-x sunrise-sunset'. This asks you for a
-longitude, latitude, number of minutes difference from Coordinated
-Universal Time, and date, and then tells you the times of sunrise and
-sunset for that location on that date.
-
- Because the times of sunrise and sunset depend on the location on
-earth, you need to tell Emacs your latitude, longitude, and location
-name before using these commands. Here is an example of what to set:
-
- (setq calendar-latitude 40.1)
- (setq calendar-longitude -88.2)
- (setq calendar-location-name "Urbana, IL")
-
-Use one decimal place in the values of `calendar-latitude' and
-`calendar-longitude'.
-
- Your time zone also affects the local time of sunrise and sunset.
-Emacs usually gets time zone information from the operating system, but
-if these values are not what you want (or if the operating system does
-not supply them), you must set them yourself. Here is an example:
-
- (setq calendar-time-zone -360)
- (setq calendar-standard-time-zone-name "CST")
- (setq calendar-daylight-time-zone-name "CDT")
-
-The value of `calendar-time-zone' is the number of minutes difference
-between your local standard time and Coordinated Universal Time
-(Greenwich time). The values of `calendar-standard-time-zone-name' and
-`calendar-daylight-time-zone-name' are the abbreviations used in your
-time zone. Emacs displays the times of sunrise and sunset *corrected
-for daylight savings time*. *Note Daylight Savings::, for how daylight
-savings time is determined.
-
- As a user, you might find it convenient to set the calendar location
-variables for your usual physical location in your `.emacs' file. And
-when you install Emacs on a machine, you can create a `default.el' file
-which sets them properly for the typical location of most users of that
-machine. *Note Init File::.
-
-\1f
-File: xemacs.info, Node: Lunar Phases, Next: Other Calendars, Prev: Sunrise/Sunset, Up: Calendar/Diary
-
-Phases of the Moon
-------------------
-
- These calendar commands display the dates and times of the phases of
-the moon (new moon, first quarter, full moon, last quarter). This
-feature is useful for debugging problems that "depend on the phase of
-the moon."
-
-`M'
- Display the dates and times for all the quarters of the moon for
- the three-month period shown (`calendar-phases-of-moon').
-
-`M-x phases-of-moon'
- Display dates and times of the quarters of the moon for three
- months around today's date.
-
- Within the calendar, use the `M' command to display a separate
-buffer of the phases of the moon for the current three-month range. The
-dates and times listed are accurate to within a few minutes.
-
- Outside the calendar, use the command `M-x phases-of-moon' to
-display the list of the phases of the moon for the current month and the
-preceding and succeeding months. For information about a different
-month, use `C-u M-x phases-of-moon', which prompts for the month and
-year.
-
- The dates and times given for the phases of the moon are given in
-local time (corrected for daylight savings, when appropriate); but if
-the variable `calendar-time-zone' is void, Coordinated Universal Time
-(the Greenwich time zone) is used. *Note Daylight Savings::.
-
-\1f
-File: xemacs.info, Node: Other Calendars, Next: Calendar Systems, Prev: Lunar Phases, Up: Calendar/Diary
-
-Conversion To and From Other Calendars
---------------------------------------
-
- The Emacs calendar displayed is *always* the Gregorian calendar,
-sometimes called the "new style" calendar, which is used in most of the
-world today. However, this calendar did not exist before the sixteenth
-century and was not widely used before the eighteenth century; it did
-not fully displace the Julian calendar and gain universal acceptance
-until the early twentieth century. The Emacs calendar can display any
-month since January, year 1 of the current era, but the calendar
-displayed is the Gregorian, even for a date at which the Gregorian
-calendar did not exist.
-
- While Emacs cannot display other calendars, it can convert dates to
-and from several other calendars.
-
-* Menu:
-
-* Calendar Systems:: The calendars Emacs understands
- (aside from Gregorian).
-* To Other Calendar:: Converting the selected date to various calendars.
-* From Other Calendar:: Moving to a date specified in another calendar.
-* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
-
- If you are interested in these calendars, you can convert dates one
-at a time. Put point on the desired date of the Gregorian calendar and
-press the appropriate keys. The `p' is a mnemonic for "print" since
-Emacs "prints' the equivalent date in the echo area.
-
-\1f
-File: xemacs.info, Node: Calendar Systems, Next: To Other Calendar, Prev: Other Calendars, Up: Other Calendars
-
-Supported Calendar Systems
-==========================
-
- The ISO commercial calendar is used largely in Europe.
-
- The Julian calendar, named after Julius Caesar, was the one used in
-Europe throughout medieval times, and in many countries up until the
-nineteenth century.
-
- Astronomers use a simple counting of days elapsed since noon, Monday,
-January 1, 4713 B.C. on the Julian calendar. The number of days elapsed
-is called the *Julian day number* or the *Astronomical day number*.
-
- The Hebrew calendar is used by tradition in the Jewish religion. The
-Emacs calendar program uses the Hebrew calendar to determine the dates
-of Jewish holidays. Hebrew calendar dates begin and end at sunset.
-
- The Islamic calendar is used in many predominantly Islamic countries.
-Emacs uses it to determine the dates of Islamic holidays. There is no
-universal agreement in the Islamic world about the calendar; Emacs uses
-a widely accepted version, but the precise dates of Islamic holidays
-often depend on proclamation by religious authorities, not on
-calculations. As a consequence, the actual dates of observance can vary
-slightly from the dates computed by Emacs. Islamic calendar dates begin
-and end at sunset.
-
- The French Revolutionary calendar was created by the Jacobins after
-the 1789 revolution, to represent a more secular and nature-based view
-of the annual cycle, and to install a 10-day week in a rationalization
-measure similar to the metric system. The French government officially
-abandoned this calendar at the end of 1805.
-
- The Maya of Central America used three separate, overlapping calendar
-systems, the *long count*, the *tzolkin*, and the *haab*. Emacs knows
-about all three of these calendars. Experts dispute the exact
-correlation between the Mayan calendar and our calendar; Emacs uses the
-Goodman-Martinez-Thompson correlation in its calculations.
-
- The Copts use a calendar based on the ancient Egyptian solar
-calendar. Their calendar consists of twelve 30-day months followed by
-an extra five-day period. Once every fourth year they add a leap day
-to this extra period to make it six days. The Ethiopic calendar is
-identical in structure, but has different year numbers and month names.
-
- The Persians use a solar calendar based on a design of Omar Khayyam.
-Their calendar consists of twelve months of which the first six have 31
-days, the next five have 30 days, and the last has 29 in ordinary years
-and 30 in leap years. Leap years occur in a complicated pattern every
-four or five years.
-
- The Chinese calendar is a complicated system of lunar months arranged
-into solar years. The years go in cycles of sixty, each year containing
-either twelve months in an ordinary year or thirteen months in a leap
-year; each month has either 29 or 30 days. Years, ordinary months, and
-days are named by combining one of ten "celestial stems" with one of
-twelve "terrestrial branches" for a total of sixty names that are
-repeated in a cycle of sixty.
-