(M-48305): Separate J78-7368, J83-7368, K0-5C2F and J90-7368.
[chise/xemacs-chise.git] / info / xemacs.info-15
index cb56172..e790bcd 100644 (file)
@@ -30,6 +30,268 @@ versions, except that the sections entitled "The GNU Manifesto",
 translation approved by the author instead of in the original English.
 
 \1f
 translation approved by the author instead of in the original English.
 
 \1f
+File: xemacs.info,  Node: Adding to Diary,  Next: Special Diary Entries,  Prev: Date Formats,  Up: Diary
+
+Commands to Add to the Diary
+----------------------------
+
+   While in the calendar, there are several commands to create diary
+entries:
+
+`i d'
+     Add a diary entry for the selected date (`insert-diary-entry').
+
+`i w'
+     Add a diary entry for the selected day of the week
+     (`insert-weekly-diary-entry').
+
+`i m'
+     Add a diary entry for the selected day of the month
+     (`insert-monthly-diary-entry').
+
+`i y'
+     Add a diary entry for the selected day of the year
+     (`insert-yearly-diary-entry').
+
+   You can make a diary entry for a specific date by selecting that date
+in the calendar window and typing the `i d' command.  This command
+displays the end of your diary file in another window and inserts the
+date; you can then type the rest of the diary entry.
+
+   If you want to make a diary entry that applies to a specific day of
+the week, select that day of the week (any occurrence will do) and type
+`i w'.  This inserts the day-of-week as a generic date; you can then
+type the rest of the diary entry.  You can make a monthly diary entry in
+the same fashion.  Select the day of the month, use the `i m' command,
+and type rest of the entry.  Similarly, you can insert a yearly diary
+entry with the `i y' command.
+
+   All of the above commands make marking diary entries by default.  To
+make a nonmarking diary entry, give a numeric argument to the command.
+For example, `C-u i w' makes a nonmarking weekly diary entry.
+
+   When you modify the diary file, be sure to save the file before
+exiting Emacs.
+
+\1f
+File: xemacs.info,  Node: Special Diary Entries,  Prev: Adding to Diary,  Up: Diary
+
+Special Diary Entries
+---------------------
+
+   In addition to entries based on calendar dates, the diary file can
+contain "sexp entries" for regular events such as anniversaries.  These
+entries are based on Lisp expressions (sexps) that Emacs evaluates as
+it scans the diary file.  Instead of a date, a sexp entry contains `%%'
+followed by a Lisp expression which must begin and end with
+parentheses.  The Lisp expression determines which dates the entry
+applies to.
+
+   Calendar mode provides commands to insert certain commonly used sexp
+entries:
+
+`i a'
+     Add an anniversary diary entry for the selected date
+     (`insert-anniversary-diary-entry').
+
+`i b'
+     Add a block diary entry for the current region
+     (`insert-block-diary-entry').
+
+`i c'
+     Add a cyclic diary entry starting at the date
+     (`insert-cyclic-diary-entry').
+
+   If you want to make a diary entry that applies to the anniversary of
+a specific date, move point to that date and use the `i a' command.
+This displays the end of your diary file in another window and inserts
+the anniversary description; you can then type the rest of the diary
+entry. The entry looks like this:
+
+   The effect of `i a' is to add a `diary-anniversary' sexp to your
+diary file.  You can also add one manually, for instance:
+
+     %%(diary-anniversary 10 31 1948) Arthur's birthday
+
+This entry applies to October 31 in any year after 1948; `10 31 1948'
+specifies the date.  (If you are using the European calendar style, the
+month and day are interchanged.)  The reason this expression requires a
+beginning year is that advanced diary functions can use it to calculate
+the number of elapsed years.
+
+   A "block" diary entry applies to a specified range of consecutive
+dates.  Here is a block diary entry that applies to all dates from June
+24, 1990 through July 10, 1990:
+
+     %%(diary-block 6 24 1990 7 10 1990) Vacation
+
+The `6 24 1990' indicates the starting date and the `7 10 1990'
+indicates the stopping date.  (Again, if you are using the European
+calendar style, the month and day are interchanged.)
+
+   To insert a block entry, place point and the mark on the two dates
+that begin and end the range, and type `i b'.  This command displays
+the end of your diary file in another window and inserts the block
+description; you can then type the diary entry.
+
+   "Cyclic" diary entries repeat after a fixed interval of days.  To
+create one, select the starting date and use the `i c' command.  The
+command prompts for the length of interval, then inserts the entry,
+which looks like this:
+
+     %%(diary-cyclic 50 3 1 1990) Renew medication
+
+This entry applies to March 1, 1990 and every 50th day following; `3 1
+1990' specifies the starting date.  (If you are using the European
+calendar style, the month and day are interchanged.)
+
+   All three of these commands make marking diary entries.  To insert a
+nonmarking entry, give a numeric argument to the command.  For example,
+`C-u i a' makes a nonmarking anniversary diary entry.
+
+   Marking sexp diary entries in the calendar is _extremely_
+time-consuming, since every date visible in the calendar window must be
+individually checked.  So it's a good idea to make sexp diary entries
+nonmarking (with `&') when possible.
+
+   Another sophisticated kind of sexp entry, a "floating" diary entry,
+specifies a regularly occurring event by offsets specified in days,
+weeks, and months.  It is comparable to a crontab entry interpreted by
+the `cron' utility.  Here is a nonmarking, floating diary entry that
+applies to the last Thursday in November:
+
+     &%%(diary-float 11 4 -1) American Thanksgiving
+
+The 11 specifies November (the eleventh month), the 4 specifies Thursday
+(the fourth day of the week, where Sunday is numbered zero), and the -1
+specifies "last" (1 would mean "first", 2 would mean "second", -2 would
+mean "second-to-last", and so on).  The month can be a single month or
+a list of months.  Thus you could change the 11 above to `'(1 2 3)' and
+have the entry apply to the last Thursday of January, February, and
+March.  If the month is `t', the entry applies to all months of the
+year.
+
+   The sexp feature of the diary allows you to specify diary entries
+based on any Emacs Lisp expression.  You can use the library of built-in
+functions or you can write your own functions.  The built-in functions
+include the ones shown in this section, plus a few others (*note Sexp
+Diary Entries::).
+
+   The generality of sexps lets you specify any diary entry that you can
+describe algorithmically.  Suppose you get paid on the 21st of the month
+if it is a weekday, and to the Friday before if the 21st is on a
+weekend.  The diary entry
+
+     &%%(let ((dayname (calendar-day-of-week date))
+              (day (car (cdr date))))
+           (or (and (= day 21) (memq dayname '(1 2 3 4 5)))
+               (and (memq day '(19 20)) (= dayname 5)))
+              ) Pay check deposited
+
+to just those dates.  This example illustrates how the sexp can depend
+on the variable `date'; this variable is a list (MONTH DAY YEAR) that
+gives the Gregorian date for which the diary entries are being found.
+If the value of the sexp is `t', the entry applies to that date.  If
+the sexp evaluates to `nil', the entry does _not_ apply to that date.
+
+\1f
+File: xemacs.info,  Node: Calendar Customization,  Prev: Diary,  Up: Calendar/Diary
+
+Customizing the Calendar and Diary
+----------------------------------
+
+   There are many customizations that you can use to make the calendar
+and diary suit your personal tastes.
+
+* Menu:
+
+* Calendar Customizing::   Defaults you can set.
+* Holiday Customizing::    Defining your own holidays.
+* Date Display Format::    Changing the format.
+* Time Display Format::    Changing the format.
+* Daylight Savings::       Changing the default.
+* Diary Customizing::      Defaults you can set.
+* Hebrew/Islamic Entries:: How to obtain them.
+* Fancy Diary Display::    Enhancing the diary display, sorting entries.
+* Included Diary Files::   Sharing a common diary file.
+* Sexp Diary Entries::     Fancy things you can do.
+* Appt Customizing::      Customizing appointment reminders.
+
+\1f
+File: xemacs.info,  Node: Calendar Customizing,  Next: Holiday Customizing,  Up: Calendar Customization
+
+Customizing the Calendar
+........................
+
+   If you set the variable `view-diary-entries-initially' to `t',
+calling up the calendar automatically displays the diary entries for
+the current date as well.  The diary dates appear only if the current
+date is visible.  If you add both of the following lines to your init
+file:
+
+     (setq view-diary-entries-initially t)
+     (calendar)
+
+this displays both the calendar and diary windows whenever you start
+Emacs.  *Note Init File::.
+
+   Similarly, if you set the variable
+`view-calendar-holidays-initially' to `t', entering the calendar
+automatically displays a list of holidays for the current three-month
+period.  The holiday list appears in a separate window.
+
+   You can set the variable `mark-diary-entries-in-calendar' to `t' in
+order to mark any dates with diary entries.  This takes effect whenever
+the calendar window contents are recomputed.  There are two ways of
+marking these dates: by changing the face (*note Faces::), if the
+display supports that, or by placing a plus sign (`+') beside the date
+otherwise.
+
+   Similarly, setting the variable `mark-holidays-in-calendar' to `t'
+marks holiday dates, either with a change of face or with an asterisk
+(`*').
+
+   The variable `calendar-holiday-marker' specifies how to mark a date
+as being a holiday.  Its value may be a character to insert next to the
+date, or a face name to use for displaying the date.  Likewise, the
+variable `diary-entry-marker' specifies how to mark a date that has
+diary entries.  The calendar creates faces named `holiday-face' and
+`diary-face' for these purposes; those symbols are the default values
+of these variables, when Emacs supports multiple faces on your terminal.
+
+   The variable `calendar-load-hook' is a normal hook run when the
+calendar package is first loaded (before actually starting to display
+the calendar).
+
+   Starting the calendar runs the normal hook
+`initial-calendar-window-hook'.  Recomputation of the calendar display
+does not run this hook.  But if you leave the calendar with the `q'
+command and reenter it, the hook runs again.
+
+   The variable `today-visible-calendar-hook' is a normal hook run
+after the calendar buffer has been prepared with the calendar when the
+current date is visible in the window.  One use of this hook is to
+replace today's date with asterisks; to do that, use the hook function
+`calendar-star-date'.
+
+     (add-hook 'today-visible-calendar-hook 'calendar-star-date)
+
+Another standard hook function marks the current date, either by
+changing its face or by adding an asterisk.  Here's how to use it:
+
+     (add-hook 'today-visible-calendar-hook 'calendar-mark-today)
+
+The variable `calendar-today-marker' specifies how to mark today's
+date.  Its value should be a character to insert next to the date or a
+face name to use for displaying the date.  A face named
+`calendar-today-face' is provided for this purpose; that symbol is the
+default for this variable when Emacs supports multiple faces on your
+terminal.
+
+A similar normal hook, `today-invisible-calendar-hook' is run if the
+current date is _not_ visible in the window.
+
+\1f
 File: xemacs.info,  Node: Holiday Customizing,  Next: Date Display Format,  Prev: Calendar Customizing,  Up: Calendar Customization
 
 Customizing the Holidays
 File: xemacs.info,  Node: Holiday Customizing,  Next: Date Display Format,  Prev: Calendar Customizing,  Up: Calendar Customization
 
 Customizing the Holidays
@@ -110,10 +372,12 @@ a string.
 
    For example, suppose you want to add Bastille Day, celebrated in
 France on July 14.  You can do this by adding the following line to
 
    For example, suppose you want to add Bastille Day, celebrated in
 France on July 14.  You can do this by adding the following line to
-your `.emacs' file:
+your init file:
 
      (setq other-holidays '((holiday-fixed 7 14 "Bastille Day")))
 
 
      (setq other-holidays '((holiday-fixed 7 14 "Bastille Day")))
 
+   *Note Init File::.
+
 The holiday form `(holiday-fixed 7 14 "Bastille Day")' specifies the
 fourteenth day of the seventh month (July).
 
 The holiday form `(holiday-fixed 7 14 "Bastille Day")' specifies the
 fourteenth day of the seventh month (July).
 
@@ -506,10 +770,12 @@ such days to be shown in the fancy diary buffer, set the variable
 
    If you use the fancy diary display, you can use the normal hook
 `list-diary-entries-hook' to sort each day's diary entries by their
 
    If you use the fancy diary display, you can use the normal hook
 `list-diary-entries-hook' to sort each day's diary entries by their
-time of day.  Add this line to your `.emacs' file:
+time of day.  Add this line to your init file:
 
      (add-hook 'list-diary-entries-hook 'sort-diary-entries t)
 
 
      (add-hook 'list-diary-entries-hook 'sort-diary-entries t)
 
+   *Note Init File::.
+
 For each day, this sorts diary entries that begin with a recognizable
 time of day according to their times.  Diary entries without times come
 first within each day.
 For each day, this sorts diary entries that begin with a recognizable
 time of day according to their times.  Diary entries without times come
 first within each day.
@@ -881,323 +1147,9 @@ variable when you start XEmacs.  If the file name does not specify a
 directory, the directories in the list `exec-path' are searched; this
 list is initialized based on the `PATH' environment variable when you
 start XEmacs.  You can override either or both of these default
 directory, the directories in the list `exec-path' are searched; this
 list is initialized based on the `PATH' environment variable when you
 start XEmacs.  You can override either or both of these default
-initializations in your `.emacs' file.
+initializations in your init file. *Note Init File::.
 
    When you use `M-!' and `M-|', XEmacs has to wait until the shell
 command completes.  You can quit with `C-g'; that terminates the shell
 command.
 
 
    When you use `M-!' and `M-|', XEmacs has to wait until the shell
 command completes.  You can quit with `C-g'; that terminates the shell
 command.
 
-\1f
-File: xemacs.info,  Node: Interactive Shell,  Next: Shell Mode,  Prev: Single Shell,  Up: Shell
-
-Interactive Inferior Shell
---------------------------
-
-   To run a subshell interactively with its typescript in an XEmacs
-buffer, use `M-x shell'.  This creates (or reuses) a buffer named
-`*shell*' and runs a subshell with input coming from and output going
-to that buffer.  That is to say, any "terminal output" from the subshell
-will go into the buffer, advancing point, and any "terminal input" for
-the subshell comes from text in the buffer.  To give input to the
-subshell, go to the end of the buffer and type the input, terminated by
-<RET>.
-
-   XEmacs does not wait for the subshell to do anything.  You can switch
-windows or buffers and edit them while the shell is waiting, or while
-it is running a command.  Output from the subshell waits until XEmacs
-has time to process it; this happens whenever XEmacs is waiting for
-keyboard input or for time to elapse.
-
-   To get multiple subshells, change the name of buffer `*shell*' to
-something different by using `M-x rename-buffer'.  The next use of `M-x
-shell' creates a new buffer `*shell*' with its own subshell.  By
-renaming this buffer as well you can create a third one, and so on.
-All the subshells run independently and in parallel.
-
-   The file name used to load the subshell is the value of the variable
-`explicit-shell-file-name', if that is non-`nil'.  Otherwise, the
-environment variable `ESHELL' is used, or the environment variable
-`SHELL' if there is no `ESHELL'.  If the file name specified is
-relative, the directories in the list `exec-path' are searched (*note
-Single Shell Commands: Single Shell.).
-
-   As soon as the subshell is started, it is sent as input the contents
-of the file `~/.emacs_SHELLNAME', if that file exists, where SHELLNAME
-is the name of the file that the shell was loaded from.  For example,
-if you use `csh', the file sent to it is `~/.emacs_csh'.
-
-   `cd', `pushd', and `popd' commands given to the inferior shell are
-watched by XEmacs so it can keep the `*shell*' buffer's default
-directory the same as the shell's working directory.  These commands
-are recognized syntactically by examining lines of input that are sent.
-If you use aliases for these commands, you can tell XEmacs to
-recognize them also.  For example, if the value of the variable
-`shell-pushd-regexp' matches the beginning of a shell command line,
-that line is regarded as a `pushd' command.  Change this variable when
-you add aliases for `pushd'.  Likewise, `shell-popd-regexp' and
-`shell-cd-regexp' are used to recognize commands with the meaning of
-`popd' and `cd'.
-
-   `M-x shell-resync-dirs' queries the shell and resynchronizes XEmacs'
-idea of what the current directory stack is.  `M-x
-shell-dirtrack-toggle' turns directory tracking on and off.
-
-   XEmacs keeps a history of the most recent commands you have typed in
-the `*shell*' buffer.  If you are at the beginning of a shell command
-line and type <M-p>, the previous shell input is inserted into the
-buffer before point.  Immediately typing <M-p> again deletes that input
-and inserts the one before it.  By repeating <M-p> you can move
-backward through your commands until you find one you want to repeat.
-You may then edit the command before typing <RET> if you wish. <M-n>
-moves forward through the command history, in case you moved backward
-past the one you wanted while using <M-p>.  If you type the first few
-characters of a previous command and then type <M-p>, the most recent
-shell input starting with those characters is inserted.  This can be
-very convenient when you are repeating a sequence of shell commands.
-The variable `input-ring-size' controls how many commands are saved in
-your input history.  The default is 30.
-
-\1f
-File: xemacs.info,  Node: Shell Mode,  Next: Terminal emulator,  Prev: Interactive Shell,  Up: Shell
-
-Shell Mode
-----------
-
-   The shell buffer uses Shell mode, which defines several special keys
-attached to the `C-c' prefix.  They are chosen to resemble the usual
-editing and job control characters present in shells that are not under
-XEmacs, except that you must type `C-c' first.  Here is a list of the
-special key bindings of Shell mode:
-
-`<RET>'
-     At end of buffer send line as input; otherwise, copy current line
-     to end of buffer and send it (`send-shell-input').  When a line is
-     copied, any text at the beginning of the line that matches the
-     variable `shell-prompt-pattern' is left out; this variable's value
-     should be a regexp string that matches the prompts that you use in
-     your subshell.
-
-`C-c C-d'
-     Send end-of-file as input, probably causing the shell or its
-     current subjob to finish (`shell-send-eof').
-
-`C-d'
-     If point is not at the end of the buffer, delete the next
-     character just like most other modes.  If point is at the end of
-     the buffer, send end-of-file as input, instead of generating an
-     error as in other modes (`comint-delchar-or-maybe-eof').
-
-`C-c C-u'
-     Kill all text that has yet to be sent as input
-     (`kill-shell-input').
-
-`C-c C-w'
-     Kill a word before point (`backward-kill-word').
-
-`C-c C-c'
-     Interrupt the shell or its current subjob if any
-     (`interrupt-shell-subjob').
-
-`C-c C-z'
-     Stop the shell or its current subjob if any (`stop-shell-subjob').
-
-`C-c C-\'
-     Send quit signal to the shell or its current subjob if any
-     (`quit-shell-subjob').
-
-`C-c C-o'
-     Delete last batch of output from shell (`kill-output-from-shell').
-
-`C-c C-r'
-     Scroll top of last batch of output to top of window
-     (`show-output-from-shell').
-
-`C-c C-y'
-     Copy the previous bunch of shell input and insert it into the
-     buffer before point (`copy-last-shell-input').  No final newline
-     is inserted, and the input copied is not resubmitted until you type
-     <RET>.
-
-`M-p'
-     Move backward through the input history.  Search for a matching
-     command if you have typed the beginning of a command
-     (`comint-previous-input').
-
-`M-n'
-     Move forward through the input history.  Useful when you are using
-     <M-p> quickly and go past the desired command
-     (`comint-next-input').
-
-`<TAB>'
-     Complete the file name preceding point (`comint-dynamic-complete').
-
-\1f
-File: xemacs.info,  Node: Terminal emulator,  Next: Term Mode,  Prev: Shell Mode,  Up: Shell
-
-Interactive Inferior Shell with Terminal Emulator
--------------------------------------------------
-
-   To run a subshell in a terminal emulator, putting its typescript in
-an XEmacs buffer, use `M-x term'.  This creates (or reuses) a buffer
-named `*term*' and runs a subshell with input coming from your keyboard
-and output going to that buffer.
-
-   All the normal keys that you type are sent without any interpretation
-by XEmacs directly to the subshell, as "terminal input."  Any "echo" of
-your input is the responsibility of the subshell.  (The exception is
-the terminal escape character, which by default is `C-c'. *note Term
-Mode::.)  Any "terminal output" from the subshell goes into the buffer,
-advancing point.
-
-   Some programs (such as XEmacs itself) need to control the appearance
-on the terminal screen in detail.  They do this by sending special
-control codes.  The exact control codes needed vary from terminal to
-terminal, but nowadays most terminals and terminal emulators (including
-xterm) understand the so-called "ANSI escape sequences" (first
-popularized by the Digital's VT100 family of terminal).  The term mode
-also understands these escape sequences, and for each control code does
-the appropriate thing to change the buffer so that the appearance of
-the window will match what it would be on a real terminal.  Thus you
-can actually run XEmacs inside an XEmacs Term window!
-
-   XEmacs does not wait for the subshell to do anything.  You can switch
-windows or buffers and edit them while the shell is waiting, or while
-it is running a command.  Output from the subshell waits until XEmacs
-has time to process it; this happens whenever XEmacs is waiting for
-keyboard input or for time to elapse.
-
-   To make multiple terminal emulators, rename the buffer `*term*' to
-something different using `M-x rename-uniquely', just as with Shell
-mode.
-
-   The file name used to load the subshell is determined the same way
-as for Shell mode.
-
-   Unlike Shell mode, Term mode does not track the current directory by
-examining your input.  Instead, if you use a programmable shell, you
-can have it tell Term what the current directory is.  This is done
-automatically by bash for version 1.15 and later.
-
-\1f
-File: xemacs.info,  Node: Term Mode,  Next: Paging in Term,  Prev: Terminal emulator,  Up: Shell
-
-Term Mode
----------
-
-   Term uses Term mode, which has two input modes: In line mode, Term
-basically acts like Shell mode.  *Note Shell Mode::.  In Char mode,
-each character is sent directly to the inferior subshell, except for
-the Term escape character, normally `C-c'.
-
-   To switch between line and char mode, use these commands:
-     findex term-char-mode
-
-`C-c C-k'
-     Switch to line mode.  Do nothing if already in line mode.
-
-`C-c C-j'
-     Switch to char mode.  Do nothing if already in char mode.
-
-   The following commands are only available in Char mode:
-`C-c C-c'
-     Send a literal <C-c> to the sub-shell.
-
-`C-c C-x'
-     A prefix command to conveniently access the global <C-x> commands.
-     For example, `C-c C-x o' invokes the global binding of `C-x o',
-     which is normally `other-window'.
-
-\1f
-File: xemacs.info,  Node: Paging in Term,  Prev: Term Mode,  Up: Shell
-
-Paging in the terminal emulator
--------------------------------
-
-   Term mode has a pager feature.  When the pager is enabled, term mode
-will pause at the end of each screenful.
-
-`C-c C-q'
-     Toggles the pager feature:  Disables the pager if it is enabled,
-     and vice versa.  This works in both line and char modes.  If the
-     pager enabled, the mode-line contains the word `page'.
-
-   If the pager is enabled, and Term receives more than a screenful of
-output since your last input, Term will enter More break mode.  This is
-indicated by `**MORE**' in the mode-line.  Type a `Space' to display
-the next screenful of output.  Type `?' to see your other options.  The
-interface is similar to the Unix `more' program.
-
-\1f
-File: xemacs.info,  Node: Narrowing,  Next: Hardcopy,  Prev: Shell,  Up: Top
-
-Narrowing
-=========
-
-   "Narrowing" means focusing in on some portion of the buffer, making
-the rest temporarily invisible and inaccessible.  Cancelling the
-narrowing and making the entire buffer once again visible is called
-"widening".  The amount of narrowing in effect in a buffer at any time
-is called the buffer's "restriction".
-
-`C-x n n'
-     Narrow down to between point and mark (`narrow-to-region').
-
-`C-x n w'
-     Widen to make the entire buffer visible again (`widen').
-
-   Narrowing sometimes makes it easier to concentrate on a single
-subroutine or paragraph by eliminating clutter.  It can also be used to
-restrict the range of operation of a replace command or repeating
-keyboard macro.  The word `Narrow' appears in the mode line whenever
-narrowing is in effect.  When you have narrowed to a part of the
-buffer, that part appears to be all there is.  You can't see the rest,
-can't move into it (motion commands won't go outside the visible part),
-and can't change it in any way.  However, the invisible text is not
-gone; if you save the file, it will be saved.
-
-   The primary narrowing command is `C-x n n' (`narrow-to-region').  It
-sets the current buffer's restrictions so that the text in the current
-region remains visible but all text before the region or after the
-region is invisible.  Point and mark do not change.
-
-   Because narrowing can easily confuse users who do not understand it,
-`narrow-to-region' is normally a disabled command.  Attempting to use
-this command asks for confirmation and gives you the option of enabling
-it; once you enable the command, confirmation will no longer be
-required.  *Note Disabling::.
-
-   To undo narrowing, use `C-x n w' (`widen').  This makes all text in
-the buffer accessible again.
-
-   Use the `C-x =' command to get information on what part of the
-buffer you narrowed down.  *Note Position Info::.
-
-\1f
-File: xemacs.info,  Node: Hardcopy,  Next: Recursive Edit,  Prev: Narrowing,  Up: Top
-
-Hardcopy Output
-===============
-
-   The XEmacs commands for making hardcopy derive their names from the
-Unix commands `print' and `lpr'.
-
-`M-x print-buffer'
-     Print hardcopy of current buffer using Unix command `print'
-     (`lpr -p').  This command adds page headings containing the file
-     name and page number.
-
-`M-x lpr-buffer'
-     Print hardcopy of current buffer using Unix command `lpr'.  This
-     command does not add page headings.
-
-`M-x print-region'
-     Like `print-buffer', but prints only the current region.
-
-`M-x lpr-region'
-     Like `lpr-buffer', but prints only the current region.
-
-   All the hardcopy commands pass extra switches to the `lpr' program
-based on the value of the variable `lpr-switches'.  Its value should be
-a list of strings, each string a switch starting with `-'.  For
-example, the value could be `("-Pfoo")' to print on printer `foo'.
-