Mercurial > emacs
annotate lisp/printing.el @ 107863:594e81986a75
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-insert-link): Find the link buffer on visible
frames.
(org-export-latex-default-packages-alist): hyperref must be loaded
late.
(org-open-file): More care with the new matching for file links.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-preprocess): Do not yet protect
defined entities - these will be taken care of later.
(org-export-latex-special-chars): Post-process entity replacement.
(org-export-latex-fontify-headline): Do not yet protect defined
entities - these will be taken care of later.
(org-export-latex-tables, org-export-latex-links): Format the
caption properly.
* org-entities.el (org-entities-user): Fix typo.
* org.el (org-prepare-agenda-buffers): Uniquify TODO keywords
* org-entities.el (org-entities-user): Improve docstring.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-entities.el (org-macs): Require org-macs, to be sure that we
have `declare-function' defined.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-classes): Update docstring.
* org.el (org-format-latex-header): Add cookies to the header.
(org-splice-latex-header): Implement placement according to
cookies.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-publish.el (org-publish-aux-preprocess): Control case
sensitivity.
2010-04-10 Bastien Guerry <bzg@altern.org>
* org.el (org-splice-latex-header): Fix typo.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-make-header): Use
`org-splice-latex-header' to build the header.
(org-export-latex-classes): Update docstring.
* org.el (org-splice-latex-header): New function.
(org-create-formula-image): Use `org-splice-latex-header' to build
the header.
* org-gnus.el (org-gnus-follow-link): Handle nndoc backend.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-export-latex-packages-alist)
(org-export-latex-default-packages-alist): Fix docstring to
reflect the expected structure.
* org-docbook.el (org-docbook-do-expand): Fix bug with variable names.
(org-export-docbook-finalize-table): Make use of label for tables.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-attach.el (org-attach-commit): Split on newlines.
* org.el (org-export-latex-default-packages-alist): Use list
instead of cons for the entries.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-entities.el (org-entity-get-representation): Catch the case
that there is not entry in the list.
* org-mobile.el (org-mobile-use-encryption)
(org-mobile-encryption-tempfile, org-mobile-encryption-password):
New options.
(org-mobile-check-setup): CHeck the encryption setup.
(org-mobile-copy-agenda-files, org-mobile-sumo-agenda-command)
(org-mobile-create-sumo-agenda): Use encryption code.
(org-mobile-encrypt-and-move): New function.
(org-mobile-encrypt-file, org-mobile-decrypt-file): New
functions.
(org-mobile-move-capture): Decrypt the capture file.
* org.el (org-entities): Require the new file.
(org-export-latex-default-packages-alist): New variable.
(org-complete): Use new entity code for completion.
(org-create-formula-image): Use the new packages variable.
* org-latex.el (org-export-latex-classes): Remove the standard
packages from the class headers.
(org-export-latex-make-header): Use the new package variable.
(org-export-latex-special-chars): Better regexp for entities, to
support entity name that contain numbers.
(org-export-latex-treat-backslash-char): Use the new entity code.
* org-html.el (org-html-do-expand): Use the new entity code.
* org-exp.el (org-export): Add the new export commands.
(org-html-entities): Constant removed.
(org-export-visible): Add the new export commands.
* org-entities.el: New file.
* org-docbook.el (org-docbook-do-expand): Use new entity code.
* org-ascii.el (org-export-ascii-entities): New variable.
(org-export-as-latin1, org-export-as-latin1-to-buffer)
(org-export-as-utf8, org-export-as-utf8-to-buffer): New commands.
(org-export-as-encoding): New function.
(org-export-ascii-preprocess): Call `org-ascii-replace-entities'.
(org-ascii-replace-entities): New function.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-html.el (org-html-level-start): Catch the case that target
might be nil.
2010-04-10 Dan Davison <davison@stats.ox.ac.uk>
* org.el (org-appearance): Change Customize group variable name
from org-font-lock to org-appearance, and change tag from "Org
Font Lock" to "Org Appearance"
(org-odd-levels-only): Change Customize group variable name
(org-level-color-stars-only): Change Customize group variable name
(org-hide-leading-stars): Change Customize group variable name
(org-hidden-keywords): Change Customize group variable name
(org-fontify-done-headline): Change Customize group variable name
(org-fontify-emphasized-text): Change Customize group variable name
(org-fontify-whole-heading-line): Change Customize group variable name
(org-highlight-latex-fragments-and-specials): Change Customize
group variable name
(org-hide-emphasis-markers): Change Customize group variable name
(org-emphasis-alist): Change Customize group variable name
(org-emphasis-regexp-components): Change Customize group variable
name
(org-modules): Remove mention of org-R
* org-faces.el (org-faces): Change Customize group variable name
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-diary-last-run-time): New variable.
(org-diary): prepare agenda buffers only if last call was some
time ago.
* org-html.el (org-export-html-preprocess): Replace \ref macros
with a link.
(org-format-org-table-html): Add the label as an anchor.
* org-docbook.el (org-export-docbook-format-image): Do some
formatting on captions.
* org-latex.el (org-export-latex-tables, org-export-latex-links):
Do some formatting on captions.
* org-html.el (org-export-html-format-image)
(org-format-org-table-html): Do some formatting on captions.
2010-04-10 Dan Davison <davison@stats.ox.ac.uk>
* org.el (org-hidden-keywords): New customizable variable. This is
a list of symbols specifying which of the special keywords #+DATE,
#+AUTHOR, #+EMAIL and #+TITLE should be hidden by font lock.
(org-fontify-meta-lines-and-blocks): Changes to font-lock code
implementing new faces and hiding behaviour.
* org-faces.el (org-document-title): New face for #+TITLE lines
(org-document-info): New face for #+DATE, #+AUTHOR, #+EMAIL lines
(org-document-info-keyword): New face for #+DATE, #+AUTHOR, #+EMAIL keywords
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-publish.el (org-publish-sanitize-plist): New function to
rename "index" properties to "sitemap". Do this renaming
globally.
(org-publish-with-aux-preprocess-maybe): New macro.
(org-publish-org-to-pdf, org-publish-org-to-html): Use the new
macro.
(org-publish-aux-preprocess)
(org-publish-index-generate-theindex.inc): New function.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-table.el (org-table-align): Interpret <N> at fixed width,
not as maximum width.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-author-info, org-export-email-info): Fix
docstrings.
* org-beamer.el (org-beamer-select-environment): Renamed from
`org-beamer-set-environment-tag'. Improve docstring.
* org-freemind.el (org-freemind-write-mm-buffer): Fix another
problem with odd levels.
* org-ascii.el (org-export-as-ascii): Export email only if the
author wants it.
* org-docbook.el (org-export-as-docbook): Export email only if the
author wants it.
* org-html.el (org-export-as-html): Export email only if the
author wants it.
* org-exp.el (org-export-email-info): New option.
(org-export-plist-vars): Add entry for `org-export-email'.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-table.el (org-table-goto-line): Fix typo.
2010-04-10 Mikael Fornius <mfo@abc.se>
* org.el (org-agenda-files): Typo.
(org-read-agenda-file-list): Add optional argument to help
`org-store-new-agenda-file-list' to remember un-expanded file
names. Expand file names relative to `org-directory'.
(org-store-new-agenda-file-list): Keep un-expanded file names when
saving, if available.
(org-agenda-files): Update documentation.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-ascii.el (org-export-as-ascii): Catch the case of exporting
a buffer with no file name attached.
* org.el (org-log-refile): New option.
(org-log-note-headings): Add a heading for refiling.
(org-startup-options): Add keywords for logging of the refile
action.
(org-refile): Add logging action.
(org-add-log-note): Allow for refiling action.
* org-agenda.el (org-agenda-bulk-action): Make sure
`org-log-refile' is not `note' during a bulk action.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-map-dblocks): Use save-excursion to remember the
position.
* org-attach.el (org-attach-commit): Remove dependence on xargs.
(org-attach-delete-one): Commit after deleting a file.
* org-latex.el (org-export-latex-fontify): Do not mistake table.el
borders for strike-through emphasis.
* org-freemind.el (org-freemind-write-mm-buffer): Simplify the
handling of odd levels.
* org-agenda.el (org-agenda-todo-ignore-deadlines): Document `past'
and `future' values.
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item):
Handle `past' and `future' values.
* org.el (org-read-agenda-file-list): Interpret file names
relative to org-directory and allow environment variables and
"~".
* org-latex.el (org-export-latex-special-chars): Allow a
parenthesis before an exponent or subscript.
2010-04-10 Dan Davison <davison@stats.ox.ac.uk>
* org-src.el (org-edit-src-exit): When returning from code edit
buffer, if code block is hidden, leave point at start of
#+begin_src line
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-insert-heading): Do not remove all spaces if the
headline is empty.
* org-indent.el (org-indent): Fix group name.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-table.el (org-table-goto-column): Fix forcing a non-existing
column.
(org-table-get, org-table-put, org-table-goto-line)
(org-table-current-line): New functions.
2010-04-10 Jan Bcker <jan.boecker@jboecker.de>
* org.el (org-open-file): Allow regular expressions in
org-file-apps to capture link parameters using groups. In a
command string to be executed, the parameters can be referenced
using %1, %2, etc. Lisp forms can access them using
(match-string n link).
(org-apps-regexp-alist): Adopt the created regexp, as this is now
matched against a file: link instead of the file name.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-crypt.el (org-reveal-start-hook): Add a decryption function
to this hook.
(org-decrypt-entries, org-encrypt-entries, org-decrypt-entry): Add
docstrings.
* org.el (org-point-at-end-of-empty-headline)
(org-level-increment, org-get-previous-line-level): New function.
(org-cycle-level): Rewritten to be independent of when this
function is called.
(org-in-regexps-block-p): New function.
(org-reveal-start-hook): New hook.
(org-reveal): Run new hook.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-keywords): Start a new paragraph
after time keywords, do not add "\newline".
* org-html.el (org-export-as-html): Avoid double # in href.
* org.el (org-refile-get-location): Catch an invalid target
specification.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-add-entry-to-org-agenda-diary-file):
Make sure the behavior regarding to extracting time is
consistent.
2010-04-10 Stephen Eglen <stephen@gnu.org>
* org-agenda.el (org-agenda-insert-diary-extract-time): New
variable.
(org-agenda-add-entry-to-org-agenda-diary-file): Use this new
variable rather than `org-agenda-search-headline-for-time'.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-list.el (org-fix-bullet-type): Improve cursor positioning.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-adaptive-fill-regexp-backup): New variable.
(org-set-autofill-regexps): Store a backup of
`adaptive-fill-regexp'.
(org-adaptive-fill-function): Fix filling of comments and ordered
lists. If there is no other match, till try adaptive fill.
2010-04-10 John Wiegley <jwiegley@gmail.com>
* org-agenda.el (org-agenda-include-deadlines): Added new
customization variable to determine whether unscheduled tasks
should appear in the agenda solely because of their deadline.
Default to true, which was the previous behavior (it just wasn't
configurable).
(org-agenda-mode-map, org-agenda-view-mode-dispatch): Bind ! in
the agenda to show/hide deadline tasks.
(org-agenda-menu): Added menu option for show/hide deadlines.
(org-agenda-list): Make the agenda list sensitive to the value of
`org-agenda-include-deadlines'.
(org-agenda-toggle-deadlines): New function to toggle the value of
`org-agenda-include-deadlines' and repaint the modeline
indicators.
(org-agenda-set-mode-name): Show "Deadlines" in the agenda
modeline if deadline tasks are being displayed.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-table.el (org-table-eval-formula): Replace $# and @# by
current column and row number.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-set-property, org-delete-property): Go back to
prompting for the property.
* org-latex.el (org-export-latex-make-header): Fully process
author line.
(org-export-latex-fontify-headline): Allow several arguments, not
just one.
(org-export-latex-fix-inputenc): Catch the error when
`latexenc-coding-system-to-inputenc' is not defined.
* org-agenda.el (org-agenda-skip-if-todo): New function.
(org-agenda-skip-if): Add conditions for TODO keywords.
(org-agenda-skip-if): Document the new todo conditions.
2010-04-10 Mikael Fornius <mfo@abc.se>
* org.el (org-at-property-p): Check if we are inside a property
drawer not just any drawer.
(org-set-property, org-delete-property): When cursor is on a
property key value pair do not prompt for property name instead
use name at cursor.
(org-ctrl-c-ctrl-c): Still do org-property-action when cursor is
on the first line of a property drawer.
(org-property-end-re): Spell check.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-attach-captions-and-attributes): Add the
properties to the entire table, in case the first line is
removed.
* org-archive.el (org-archive-reversed-order): New option.
(org-archive-subtree, org-archive-to-archive-sibling): Use the new
option `org-archive-reversed-order'.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-entry-types): New variable.
(org-agenda-list): Use `org-agenda-entry-types'.
(org-agenda-custom-commands-local-options): Support for setting
`org-agenda-entry-types' as an option.
(org-diary): Shift some documentation from here to the variable
`org-agenda-entry-types'.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-make-header): Apply macros in
author field.
* org-clock.el (org-clocking-buffer, org-clocking-p): New function.
(org-clock-select-task, org-clock-notify-once-if-expired)
(org-clock-in, org-clock-out, org-clock-cancel, org-clock-goto)
(org-clock-out-if-current, org-clock-save): Use the new functions.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-docbook.el (org-export-as-docbook): Remove unnecessary
newline.
(org-export-as-docbook): Remove unnecessary newline.
(org-export-as-docbook): Fix problem with double footnote
reference in one place.
* org-exp.el (org-export-format-source-code-or-example): Remove
unnecessary newline.
* org.el (org-deadline, org-schedule): Allow rescheduling entries
with repeaters.
* org-table.el (org-table-convert-refs-to-rc): Better way to catch
function calls that look like references.
* org.el (org-open-at-point): Get link abbreviations from
reference buffer.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-table.el (org-table-convert-refs-to-rc): Do not read arctan2
as a reference.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-link-unescape): Solve issue with lower-case escapes.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-classes): Add
\usepackage{latexsym} to all classes.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-html.el (org-export-as-html): Do not allow protected lines
into the table of contents.
* org-latex.el (org-export-latex-special-chars): Find subsequent
occurrences of special characters.
(org-export-latex-tables): Do not convert table-like stuff that is
protected.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-list.el (org-toggle-checkbox): No errors when updating
checkbox count fails because there is no heading.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-clock.el (org-clock-report-include-clocking-task): New
option.
(org-clock-sum): Add the current clocking task.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-cycle): Print a message when in a table.el table.
(org-edit-special): Recognize the table.el context.
(org-ctrl-c-ctrl-c): Print a message when in a table.el table.
* org-src.el (org-at-table.el-p): Declare.
(org-edit-src-code): Handle a special case for table.el editing.
(org-edit-src-find-region-and-lang): Recognize the table.el
context.
* org-latex.el (org-export-latex-tables): Convert table.el
tables.
(org-export-latex-convert-table.el-table): New function.
* org-html.el (org-html-expand): Fix table.el export.
* org-latex.el (org-export-latex-preprocess): Protect footnotes in
headings.
* org-id.el (org-id-find-id-file): Fix bug when there is no hash
table for the id locations.
* org.el (org-read-date-analyze): Match American-style dates, like
5/30 or 5/13/7. Make sure cal-iso.el is loaded. Don't force he
current year when reading ISO and American dates.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-face-from-face-or-color): New function.
(org-get-todo-face, org-font-lock-add-priority-faces)
(org-get-tag-face): Use `org-face-from-face-or-color'.
* org-faces.el (org-todo-keyword-faces, org-priority-faces): Allow
simple colors as values.
(org-faces-easy-properties): New option.
* org-agenda.el (org-agenda-set-mode-name): Show if the agenda is
restricted, as an agenda mode.
(org-agenda-fontify-priorities): Allow simple colors as values.
2010-04-10 Bastien Guerry <bzg@altern.org>
* org-timer.el (org-timer-current-timer): Renamed from
`org-timer-last-timer'.
(org-timer-timer1, org-timer-timer2, org-timer-timer3): Removed.
(org-timer-cancel-timer, org-timer-show-remaining-time)
(org-timer-set-timer): Update to use only one timer.
* org.el (org-set-property): Remove useless space in the prompt.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-html.el (org-export-html-style-default): Add a default style
for textareas.
* org-exp.el (org-export-format-source-code-or-example): Fix
textarea tag.
2010-04-10 Bastien Guerry <bzg@altern.org>
* org-clock.el (org-clock-current-task): New variable to store
last clocked in task.
(org-clock-set-current, org-clock-delete-current): New functions.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-remember.el (org-remember-apply-template): Extend comment.
(org-remember-handler): Implement clock sibling filing.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-publish.el (org-publish-all, org-publish-current-file)
(org-publish-current-project): When called with prefix argument
FORCE, also rebuild the validation file list.
* org-latex.el (org-export-latex-preprocess): Protect footnotes in
section headings.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-html.el (org-export-as-html-and-open): Kill product buffer
if the user wants that.
* org-latex.el (org-export-as-pdf-and-open): Kill product buffer
if the user wants that.
* org-exp.el (org-export-kill-product-buffer-when-displayed): New
option.
* org-agenda.el (org-batch-agenda-csv): Use the time property
instead of the `time-of-day' property.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-timer.el (org-timer-start-hook, org-timer-stop-hook)
(org-timer-pause-hook, org-timer-set-hook)
(org-timer-cancel-hook): New hooks.
(org-timer-start): Run `org-timer-start-hook'.
(org-timer-pause-or-continue): Run `org-timer-pause-hook'.
(org-timer-stop): Run `org-timer-stop-hook'.
(org-timer-cancel-timers): Run `org-timer-cancel-hook'.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-reveal): Double prefix arg shows the subtree of the
parent.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-search-view): Fix bug with searching full
words in headlines in search view.
(org-agenda-skip-deadline-prewarning-if-scheduled): New option.
(org-agenda-get-deadlines): Suppress pre-warning if the entry is
scheduled (if the user configures it so.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-hide-archived-subtrees): Don't jump to end of
subtree if the match was not in a headline.
(org-inside-latex-macro-p): Allow more complex arguments.
(org-emphasize): Protect against use at end of buffer.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-align-tags): Avoid side effects on
text properties.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-todo-ignore-scheduled): More allowed
values.
(org-agenda-todo-ignore-scheduled)
(org-agenda-todo-ignore-deadlines): More control with different
allowed values.
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item):
Honor the new option settings.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-get-location): Make sure the selection buffer is
shown in the current frame.
* org-ascii.el (org-export-ascii-table-widen-columns): New
option.
(org-export-ascii-preprocess): Realign tables to remove narrowing
if `org-export-ascii-table-widen-columns' is set.
* org-table.el (org-table-do-narrow): New variable.
(org-table-align): Narrow only if `org-table-do-narrow' is t.
* org.el (org-deadline, org-schedule): Allow updating if the
relevant time stamp does not have a repeater, i.e. do not require
that no time stamp has a repeater.
* org-agenda.el (org-agenda-align-tags): Don't add a face to the
new white space before the tags.
* org-latex.el (org-export-as-latex): Do nit require the buffer to
be visiting a file when only exporting to a buffer or string.
(org-export-latex-fix-inputenc): Only save the buffer is there is
a file name attached to it.
2010-04-10 Dan Davison <davison@stats.ox.ac.uk>
* org-src.el (org-edit-src-exit): Widen before exiting edit buffers
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-fontify-meta-lines-and-blocks): Honor
`org-fontify-quote-and-verse-blocks'.
* org-faces.el (org-fontify-quote-and-verse-blocks): New option.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-open-at-point): Also check for text property
org-linked-text before offering collected links.
2010-04-10 Stephen Eglen <stephen@gnu.org>
* org-agenda.el (org-agenda-add-entry-to-org-agenda-diary-file):
Optionally extract time specification from text and add to the
timestamp.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-html-entities): Fix typo.
* org-latex.el (org-export-latex-make-header): Use \providecommand
to make sure the \alert macro is defined.
* org.el (org-format-latex-signal-error)
(org-create-formula-image): Use `org-format-latex-signal-error'.
2010-04-10 Stephen Eglen <stephen@gnu.org>
* org.el (org-store-link): For dired buffers, use
default-directory as link name if dired-get-filename returns
nil.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-concatenate-multiline-links): The for
protectedness at beginning of match.
* org-latex.el (org-export-latex-fix-inputenc): Never leave the
AUTO as a coding system, instead default to utf8.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-block-todo-from-children-or-siblings-or-parent)
(org-block-todo-from-checkboxes): Respect the local variable
value when deciding if blocking should be active.
* org-latex.el (org-export-latex-make-header): Define the align
macro if it is not yet defined.
* org-agenda.el (org-agenda-insert-diary-make-new-entry): Call
`org-insert-heading' with the INVISIBLE-OK argument.
* org-mac-message.el (org-mac-message-insert-flagged): Call
`org-insert-heading' with the INVISIBLE-OK argument.
* org.el (org-insert-heading): New argument INVISIBLE-OK.
* org-agenda.el (org-agenda-view-mode-dispatch): Improve the
prompt message.
* org-html.el (org-html-level-start): Use the
`html-container-class' text property to set an additional class
for an outline container.
* org-exp.el (org-export-remember-html-container-classes): New
function.
(org-export-preprocess-string): Call
`org-export-remember-html-container-classes'.
* org.el (org-cycle): Mention level cycling in the docstring.
(org-default-properties): Add new property HTML_CONTAINER_CLASS.
* org-remember.el (org-remember-apply-template): Do file insertion
first.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-habit.el (org-habit-insert-consistency-graphs): Fix a
problem with mis-aligned graphs when showing habits.
2010-04-10 Mikael Fornius <mfo@abc.se>
* org.el (org-assign-fast-keys): Prefer keys used in keyword name
when assigning. Begin using numerical characters when all in name
is used up. This is to spare alphanumeric characters for better
match with other keywords.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-preprocess-hook): Improve documentation.
* org-latex.el (org-export-latex-preprocess): More consistent
conversion and protection of the words LaTeX and TeX.
(org-export-latex-fontify-headline, org-export-latex-preprocess):
Allow angle brackets in commands, for beamer.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-clock.el (org-clock-in): Improve the look of the clock line
by formatting links.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-classes): Use AUTO as the place
holder string for the coding system. And improve the
documentation.
(org-export-latex-fix-inputenc): Only modify the coding system if
it is given by the placeholder AUTO.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-clock.el (org-task-overrun-text): New option.
(org-task-overrun, org-clock-update-period): New variables.
(org-clock-get-clock-string, org-clock-update-mode-line): Mark
overrun clock.
(org-clock-notify-once-if-expired): Check if clock is overrun.
* org-faces.el: New face `org-mode-line-clock-overrun'.
2010-04-10 Jan Bcker <jan.boecker@jboecker.de>
* org.el (org-narrow-to-subtree): Position the end of the narrowed
region before the line with the next heading, to prevent the user
from prepending text to the next headline.
2010-04-10 Stephen Eglen <stephen@gnu.org>
* org-agenda.el (org-get-time-of-day): Use
org-agenda-time-leading-zero to allow leading zero (rather than
space) for times.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-diary-entry-in-org-file): Make sure
org-datetree.el is loaded.
* org-datetree.el: autoload `org-datetree-find-day-create'
* org-latex.el (org-export-latex-hyperref-format): New option.
(org-export-latex-links): Use `org-export-latex-hyperref-format'.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-ctags.el (org-ctags-enable): Change order of functions.
(org-ctags-create-tags): Add wildcard to file name expansion.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-entry-properties): Fix some important bugs.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-link-unescape, org-link-escape): Only use hexlify if
the table is not explicitly given.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-clock.el (org-clock-out-when-done): Allow a list of keywords
as value.
(org-clock-out-if-current): Work with the new list value of
`org-clock-out-when-done'.
(org-clock-out, org-clock-out-if-current): Avoid circular logic
between clocking out and state changes.
* org-ctags.el (org-ctags-path-to-ctags): Better system-type test.
* org-latex.el (org-export-latex-treat-backslash-char): Do not by
accident protect a character that is before a backslash.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-diary-class): Use
`org-order-calendar-date-args'.
* org.el (org-order-calendar-date-args): New function.
* org-exp.el (org-export-target-internal-links): Check for
protectedness after the first bracket.
* org.el (org-entry-properties): Don't match wrong-case TODO
keywords.
* org-agenda.el (org-agenda-schedule, org-agenda-deadline):
Document that ARG is passed through to remove the date.
(org-agenda-bulk-action): Accept prefix arg and pass it on. Do
not read a date when the user has given a `C-u' prefix.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-fix-displayed-tags): Fix bug when all
tags are hidden.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-fix-inputenc): New function.
(org-export-latex-inputenc-alist): New option.
* org-exp.el (org-export): New key SPC to publish enclosing
subtree.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-indent.el (org-indent-add-properties): Catch case when there
is no headline in the buffer.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-html-entities): Add checkmark symbol.
* org-ascii.el (org-export-ascii-preprocess): Protect targets in
verbatim code for ASCII export.
* org.el (org-update-statistics-cookies): Also see checkboxes in
ordered lists.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-view-mode-dispatch): Define the `L'
key.
* org-beamer.el (org-beamer-amend-header): Change the location
where `org-beamer-header-extra' is inserted.
* org.el (org-compute-latex-and-specials-regexp): Don't do BIND
just for computing this regexp.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-beamer.el (org-beamer-frame-default-options): New option.
(org-beamer-sectioning): Use default options if the user does not
have defined any.
(org-beamer-fix-toc): Put a frame around the table of contents.
* org-exp.el (org-export-remove-comment-blocks-and-subtrees): Make
sure case-folding works well when processing comment stuff.
* org-latex.el (org-export-latex-after-save-hook): New hook.
(org-export-as-latex): Run the new hook.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-beamer.el (org-beamer-environments-default): Add the note
environments.
(org-beamer-after-initial-vars): Allow several BEAMER_HEADER_EXTRA
lines and collect and combine the content.
(org-beamer-after-initial-vars): Check for note tags and make sure
they will be seen like a property.
* org.el (org-offer-links-in-entry): Fix bug when there is a
single link.
* org-exp.el (org-export): Make sure the mark is activated, also
when `transient-mark-mode' is off.
* org-agenda.el (org-agenda-search-view-always-boolean): New option.
(org-agenda-search-view-search-words-only): Obsolete variable, is
now an alias for `org-agenda-search-view-always-boolean'.
(org-agenda-search-view-force-full-words): New option.
(org-search-view): Improve docstring, and implement a better logic
for Boolean and phrase searches.
(org-agenda-last-search-view-search-was-boolean): New variable.
(org-agenda-manipulate-query): Consider the type of the last
search when modifying the search string.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-as-latex): Do the first letbind in the
right moment.
* org-agenda.el (org-get-entries-from-diary): Add the new face to
these entries.
* org-faces.el (org-agenda-diary): New face.
* org.el (org-make-link-regexps): Allow regexp-special characters
in link types.
(org-open-file): When in-emacs is `system', also force system
opening, like when the value was `(16)'.
(org-update-statistics-cookies): Handle entries without children.
* org-exp.el
(org-export-preprocess-before-normalizing-links-hook): New hook.
(org-export-preprocess-string): Run the new hook.
* org.el (org-offer-links-in-entry): Make RET open all links.
* org-html.el (org-export-as-html): Remove any leftover display
properties in the html file.
* org-wl.el (org-wl-store-link): Work-around for format bug with
text properties.
* org-habit.el (org-habit-insert-consistency-graphs): Turn off
invisibility while adding the graphs.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-remember.el (org-select-remember-template): Use C letter to
customize remember templates.
* org-agenda.el (org-agenda-bulk-mark, org-agenda-bulk-unmark):
Move cursor to next visible line.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-beamer.el (org-beamer-sectioning): Leave columns environment
by specifying 0 or 1 for column width.
(org-beamer-column-widths): Make 0 stand for 0.0.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-mark-radio-links): Don't match inside
<<target>>.
* org.el (org-format-latex-header-extra): New variable.
(org-format-latex): Set org-format-latex-header-extra from
in-buffer stuff.
(org-format-latex): Add org-format-latex-header-extra to the
variables on which image creation depends.
(org-create-formula-image): Add the header stuff from in-buffer
settings.
(org-read-date-analyze): Base the analysis for future preference
on NOW, not on the default date.
* org-inlinetask.el (org-inlinetask-export-handler): Add CSS class
for TODO keyword in inline tasks.
* org.el (org-log-note-headings): New headings for removing
deadline or scheduling date.
(org-deadline, org-schedule): Arrange for logging when removing a
date.
(org-add-log-note): Handle deadline and scheduling removal.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-visible): Add LaTeX/pdf export.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-diary-class): New function.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-preprocess): Do process the text
of a radio target.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-entry-properties): Add TIMESTAMP properties back
in.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-all-time-keywords): New variable.
(org-set-regexps-and-options): Set `org-all-time-keywords'.
(org-entry-blocked-p): New function.
(org-special-properties): Add BLOCKED as a new special property.
(org-entry-properties): New optional argument SPECIFIC, only parse
for this property when it is specified.
(org-entry-get): Pass a SPECIFIC argument to
`org-entry-properties'.
* org-latex.el (org-export-as-latex): Preprocess TEXT as well.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-tables): No forced line end if
there is no caption.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-html-entities): Add Euro symbols from Marvosym
package.
* org-latex.el (org-export-latex-tables): Only add a caption when
macro in in longtable environments if one has been defined.
* org-html.el (org-export-as-html): Only take title from buffer if
not exporting body-only.
* org-latex.el (org-export-latex-preprocess): Better version of
the regular expression for protecting LaTeX macros.
(org-export-latex-preprocess): Start searching for macros to
protect from beginning of buffer.
* org-exp.el (org-export-target-internal-links): Check for
protectedness earlier in the string.
* org-agenda.el (org-agenda-highlight-todo): Match TODO keywords
case sensitively.
* org-id.el (org-id-store-link): Match TODO keywords case
sensitively.
* org.el (org-heading-components, org-get-outline-path)
(org-display-outline-path): Match TODO keywords case sensitively.
* org-latex.el (org-export-as-latex): Ignore read-only
properties.
* org-exp.el (org-export-preprocess-string): Remove any
`read-only' properties.
* org-agenda.el (org-agenda-inactive-leader): New option.
(org-agenda-get-timestamps): Use `org-agenda-inactive-leader'.
(org-tags-view): Prompt for matcher if MATCH is an empty string.
(org-todo-list): Prompt for matcher if ARG is an empty string.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-open-link-functions): New hook.
(org-open-at-point): Run `org-open-link-functions'.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-agenda.el (org-agenda-date-prompt): Allow inactive time
stamps as well.
* org.el (org-inhibit-startup-visibility-stuff): New variable.
(org-mode): Don't do startup visibility if inhibited.
(org-outline-overlay-data, org-set-outline-overlay-data): New
functions.
(org-save-outline-visibility): New macro.
(org-log-note-headings): Document that one should not change the
`state' note format.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-make-link-regexps): Capture link path into a group.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-beamer.el (org-beamer-after-initial-vars): Do not overwrite
the options plist.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-startup-with-beamer-mode): New option.
(org-property-changed-functions)
(org-property-allowed-value-functions): New hooks.
(org-entry-put, org-property-get-allowed-values): Run the new
hooks.
(org-property-next-allowed-value): Run the new hooks.
* org-exp.el (org-export-select-backend-specific-text): Add the
special beamer tags.
* org-beamer.el
(org-export-preprocess-before-selecting-backend-code-hook): New
file.
* org-latex.el (org-export-latex-after-initial-vars-hook): New hook.
(org-export-as-latex): Run
`org-export-latex-after-initial-vars-hook'.
(org-export-latex-format-toc-function)
(org-export-latex-make-header): Call
`org-export-latex-format-toc-function'.
* org.el (org-fill-template): Make template searches case sensitive.
* org-exp.el (org-export): Use "1" as a sign to export only the
subtree.
* org-colview-xemacs.el (org-columns-edit-value): Use
org-unrestricted property.
* org-colview.el (org-columns-edit-value): Use
org-unrestricted property.
* org.el (org-compute-property-at-point): Set org-unrestricted
text property if the list contains ":ETC".
(org-insert-property-drawer): Use
org-unrestricted property.
* org-exp.el
(org-export-preprocess-before-selecting-backend-code-hook): New hook.
(org-export-preprocess-string): Run
`org-export-preprocess-before-selecting-backend-code-hook'.
* org-xoxo.el (org-export-as-xoxo): Run `org-export-first-hook'.
* org-latex.el (org-export-region-as-latex): Run
`org-export-first-hook'.
* org-html.el (org-export-as-html): Run `org-export-first-hook'.
* org-docbook.el (org-export-as-docbook): Run
`org-export-first-hook'.
* org-ascii.el (org-export-as-ascii): Run `org-export-first-hook'.
* org-exp.el (org-export-first-hook): New hook.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-list.el (org-previous-item): Exit at the beginning of the
buffer.
* org-id.el (org-id-locations-save): Only write the id locations
if any are defined.
* org-archive.el (org-archive-all-done): Make this work in a file
with org-odd-levels-only set.
* org.el (org-get-refile-targets): Catch the case when a buffer
has no file.
* org-latex.el (org-export-as-latex): Cleanup forced line ends
where they are not needed.
(org-export-latex-subcontent): Remove unnecessary newlines.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-make-header): Remove \obeylines.
(org-export-latex-fontify): Fix regexp bug that takes special
care of protecting the right boundary characters in emphasis
matches.
(org-export-latex-preprocess): Allow multiple arguments to latex
macros.
* org.el (org-make-link-regexps): Use John Gruber's regexp for
urls.
* org-macs.el (org-re): Interpret :punct: in regexps.
* org-exp.el (org-export-replace-src-segments-and-examples): Also
take the final newline after the END line.
* org.el (org-clean-visibility-after-subtree-move): Only fix
entries that are not entirely invisible already.
(org-insert-link): Respect org-link-file-path-type for
"docview:" links in addition to "file:" links.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-exp.el (org-export-format-source-code-or-example): Avoid
additional extra white lines in LaTeX.
* org-list.el (org-list-parse-list): Leave empty lines after the
list, don't consider them as part of the list.
* org-mobile.el (org-mobile-sumo-agenda-command): Allow tagstodo
searches.
* org-clock.el (org-clock-select-task): Convert integer to
character for XEmacs.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-clock.el (org-clock-resolve): Make reading a char XEmacs
compatible.
2010-04-10 Tassilo Horn <tassilo@member.fsf.org>
* org.el (org-complete-tags-always-offer-all-agenda-tags): New
variable.
(org-set-tags): Use it.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-list.el (org-empty-line-terminates-plain-lists): Update
docstring.
* org.el (org-format-latex): Fix link creation for processed latex
snippets.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-footnote.el (org-footnote-normalize): Protect replacement
text.
* org.el (org-inside-latex-macro-p): Save match data.
2010-04-10 Jan Bcker <jan.boecker@jboecker.de>
* org-docview.el: New file.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-class-options): New variable.
(org-export-latex-set-initial-vars): Use the class options.
* org.el (org-forward-same-level): Stop at headings that start
with an invisible character.
(org-additional-option-like-keywords): Add LaTeX_CLASS_OPTIONS.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-footnote.el (org-footnote-normalize): Don't take optional
arguments in LaTeX macros as footnotes.
* org.el (org-inside-latex-macro-p): New function.
* org-latex.el (org-latex-to-pdf-process): Change customization
group to `org-export-pdf'.
* org-agenda.el (org-agenda-get-blocks): Look at time string also
on days after the first one.
* org.el (org-insert-heading): Also check for item before assuming
before-first-heading condition.
* org-latex.el (org-latex-to-pdf-process): Fix typo in group tag.
(org-export-pdf-logfiles): New option.
(org-export-as-pdf): Use `org-export-pdf-logfiles'.
(org-export-pdf-logfiles): Fix customization type.
* org.el (org-insert-link): Improve error message when there is no
default link to select with RET.
* org-agenda.el (org-agenda-filter-by-tag): Use char argument from
parameter list.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-parse-global)
(org-export-latex-parse-content)
(org-export-latex-parse-subcontent): Use
`org-re-search-forward-unprotected'.
(org-export-as-pdf): Remove log files produced by XeTeX.
* org-macs.el (org-re-search-forward-unprotected): New function.
2010-04-10 James TD Smith <ahktenzero@mohorovi.cc>
* org-colview.el (org-agenda-colview-summarize): Sort out some
confusion between properties and titles, which resulted in
agenda summaries not working if a title was set for a column.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-mobile.el (org-mobile-agendas): New option.
(org-mobile-sumo-agenda-command): Select the right agendas.
* org-latex.el (org-export-latex-format-image): Preserve the
original-indentation property.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-clock.el (org-clock-insert-selection-line): Catch error when
an old tasks no longer exists.
* org-latex.el (org-export-as-pdf): Remove also the .idx file.
(org-export-as-pdf): Don't remove the old PDF file before making
the new one.
* org-mouse.el (org-mouse-end-headline, org-mouse-insert-item)
(org-mouse-context-menu): Use `org-looking-back'.
* org.el (org-cycle-level): Use `org-looking-back'.
* org-list.el (org-cycle-item-indentation): Use
`org-looking-back'.
* org-compat.el (org-looking-back): New function.
* org.el (org-insert-heading): Catch before-first-headline when
inserting a headline.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-latex.el (org-export-latex-format-image): Indent figure
environment, so that it does not interrupt plain list.
* org.el (org-open-at-point): Allow long link descriptions.
2010-04-10 Carsten Dominik <carsten.dominik@gmail.com>
* org-html.el (org-export-as-html): Remove empty lines at the
beginning of the exported text.
2010-04-15 Carsten Dominik <carsten.dominik@gmail.com>
* org.texi (LaTeX and PDF export): Add a footnote about xetex.
(LaTeX/PDF export commands): Section renamed and
moved.
(Sectioning structure): Update.
(References): New use case for field coordinates.
(The export dispatcher): Renamed from ASCII export.
(Setting up the staging area): Document the availability of
encryption for MobileOrg.
(Images and tables): Document how to reference labels.
(Index entries): New section.
(Generating an index): New section.
(Column width and alignment): Document that <N> now
means a fixed width, not a maximum width.
(Publishing options): Document the :email option.
(Beamer class export): Fix bug in the BEAMER example.
(Refiling notes): Document refile logging.
(In-buffer settings): Document refile logging keywords.
(Drawers): Document `C-c C-z' command.
(Agenda commands): Mention the alternative key `C-c C-z'.
(Special properties): Document the BLOCKED property.
(The spreadsheet): Mention the formula editor.
(References): Document field coordinates.
(Publishing action): Correct the documentation for the
publishing function.
(The date/time prompt): Document that we accept dates
like month/day/year.
(Cooperation): Document the changes in table.el support.
(Faces for TODO keywords, Faces for TODO keywords)
(Priorities): Document the easy colors.
(Visibility cycling): Document the new double prefix
arg for `org-reveal'.
(Cooperation): Remember.el is part of Emacs.
(Clean view): Mention that `wrap-prefix' is also set by
org-indent-mode.
(Agenda commands): Add information about prefix args to
scheduling and deadline commands.
(Search view): Point to the docstring of
`org-search-view' for more details.
(Agenda commands): Document that `>' prompts for a
date.
(Setting tags): Document variable
org-complete-tags-always-offer-all-agenda-tags.
(Column attributes): Cross-reference special
properties.
author | Carsten Dominik <carsten.dominik@gmail.com> |
---|---|
date | Thu, 15 Apr 2010 12:11:52 +0200 |
parents | 1d1d5d9bd884 |
children | 420fcace343a 56a3e26c3f7e |
rev | line source |
---|---|
49646 | 1 ;;; printing.el --- printing utilities |
2 | |
106815 | 3 ;; Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
104386
2e0765155e47
Use help-print-return-message rather than the now obsolete alias.
Glenn Morris <rgm@gnu.org>
parents:
103999
diff
changeset
|
4 ;; Free Software Foundation, Inc. |
49646 | 5 |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
6 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
7 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
49646 | 8 ;; Keywords: wp, print, PostScript |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
9 ;; Version: 6.9.3 |
73027
575850f5bd53
Adjust X-URL
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
68651
diff
changeset
|
10 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre |
49646 | 11 |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
12 (defconst pr-version "6.9.3" |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
13 "printing.el, v 6.9.3 <2007/12/09 vinicius> |
49646 | 14 |
15 Please send all bug fixes and enhancements to | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
16 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
49646 | 17 ") |
18 | |
19 ;; This file is part of GNU Emacs. | |
20 | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
21 ;; GNU Emacs is free software: you can redistribute it and/or modify |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
22 ;; it under the terms of the GNU General Public License as published by |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
23 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
24 ;; (at your option) any later version. |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
25 |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
26 ;; GNU Emacs is distributed in the hope that it will be useful, |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
27 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
28 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
29 ;; GNU General Public License for more details. |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
30 |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
31 ;; You should have received a copy of the GNU General Public License |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
32 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
49646 | 33 |
34 ;;; Commentary: | |
35 | |
36 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
37 ;; | |
38 ;; Introduction | |
39 ;; ------------ | |
40 ;; | |
56493 | 41 ;; With `printing' you can preview or print a PostScript file. You can also |
42 ;; print a text file using PostScript, and preview or print buffers that use | |
43 ;; certain special modes like mh-folder-mode, rmail-summary-mode, | |
44 ;; gnus-summary-mode, etc. This package also includes a PostScript/text | |
45 ;; printer database. | |
46 ;; | |
47 ;; There are two user interfaces: | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
48 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
49 ;; * Menu interface: |
56493 | 50 ;; The `printing' menu replaces the usual print options in the menu bar. |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
51 ;; This is the default user interface. |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
52 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
53 ;; * Buffer interface: |
56493 | 54 ;; You can use a buffer interface instead of menus. It looks like a |
55 ;; customization buffer. Basically, it has the same options found in the | |
56 ;; menu and some extra options, all this on a buffer. | |
57 ;; | |
58 ;; `printing' is prepared to run on GNU, Unix and NT systems. | |
59 ;; On GNU or Unix system, `printing' depends on gs and gv utilities. | |
60 ;; On NT system, `printing' depends on gstools (gswin32.exe and gsview32.exe). | |
61 ;; To obtain ghostscript, ghostview and GSview see the URL | |
62 ;; `http://www.gnu.org/software/ghostscript/ghostscript.html'. | |
63 ;; | |
64 ;; `printing' depends on ps-print package to generate PostScript files, to | |
65 ;; spool and to despool PostScript buffer. So, `printing' provides an | |
66 ;; interface to ps-print package and it also provides some extra stuff. | |
67 ;; | |
68 ;; To download the latest ps-print package see | |
75712
f24fee7e36d4
Fix ps-print links
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
75347
diff
changeset
|
69 ;; `http://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage'. |
56493 | 70 ;; Please, see README file for ps-print installation instructions. |
49646 | 71 ;; |
87207 | 72 ;; `printing' was inspired by: |
49646 | 73 ;; |
74 ;; print-nt.el Frederic Corne <frederic.corne@erli.fr> | |
75 ;; Special printing functions for Windows NT | |
76 ;; | |
77 ;; mh-e-init.el Tom Vogels <tov@ece.cmu.edu> | |
78 ;; PS-print for mail messages | |
79 ;; | |
80 ;; win32-ps-print.el Matthew O. Persico <mpersico@erols.com> | |
81 ;; PostScript printing with ghostscript | |
82 ;; | |
83 ;; ps-print-interface.el Volker Franz <volker.franz@tuebingen.mpg.de> | |
84 ;; Graphical front end for ps-print and previewing | |
85 ;; | |
86 ;; | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
87 ;; Log Messages |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
88 ;; ------------ |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
89 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
90 ;; The buffer *Printing Command Output* is where the `printing' log messages |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
91 ;; are inserted. All program called by `printing' has a log entry in the |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
92 ;; buffer *Printing Command Output*. A log entry has the following form: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
93 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
94 ;; PROGRAM (ARG...) |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
95 ;; MESSAGE |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
96 ;; Exit status: CODE |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
97 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
98 ;; Where |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
99 ;; PROGRAM is the program activated by `printing', |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
100 ;; ARG is an argument passed to PROGRAM (it can have more than one argument), |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
101 ;; MESSAGE is an error message returned by PROGRAM (it can have no message, if |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
102 ;; PROGRAM is successful), |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
103 ;; and CODE is a numeric exit status or a signal description string. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
104 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
105 ;; For example, after previewing a PostScript file, *Printing Command Output* |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
106 ;; will have the following entry: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
107 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
108 ;; /usr/X11R6/bin/gv ("/home/user/example/file.ps") |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
109 ;; Exit status: 0 |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
110 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
111 ;; In the example above, the previewing was successful. If during previewing, |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
112 ;; you quit gv execution (by typing C-g during Emacs session), the log entry |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
113 ;; would be: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
114 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
115 ;; /usr/X11R6/bin/gv ("/home/user/example/file.ps") |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
116 ;; Exit status: Quit |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
117 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
118 ;; So, if something goes wrong, a good place to take a look is the buffer |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
119 ;; *Printing Command Output*. Don't forget to see also the buffer *Messages*, |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
120 ;; it can help. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
121 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
122 ;; |
49646 | 123 ;; Novices (First Users) |
124 ;; --------------------- | |
125 ;; | |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
126 ;; First of all, see printing documentation only to get an idea of what |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
127 ;; `printing' is capable. |
49646 | 128 ;; |
129 ;; Then try to set the variables: `pr-ps-name', `pr-ps-printer-alist', | |
130 ;; `pr-txt-name', `pr-txt-printer-alist' and `pr-path-alist'. These variables | |
131 ;; are the main variables for printing processing. | |
132 ;; | |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
133 ;; Now, please, see these variables documentation deeper. You can do this by |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
134 ;; typing C-h v pr-ps-name RET (for example) if you already loaded printing |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
135 ;; package, or by browsing printing.el source file. |
49646 | 136 ;; |
137 ;; If the documentation isn't clear or if you find a way to improve the | |
138 ;; documentation, please, send an email to maintainer. All printing users | |
139 ;; will thank you. | |
140 ;; | |
141 ;; One way to set variables is by calling `pr-customize', customize all | |
142 ;; variables and save the customization by future sessions (see Options | |
143 ;; section). Other way is by coding your settings on Emacs init file (that is, | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
144 ;; ~/.emacs file), see below for a first setting template that it should be |
49646 | 145 ;; inserted on your ~/.emacs file (or c:/_emacs, if you're using Windows 9x/NT |
146 ;; or MS-DOS): | |
147 ;; | |
148 ;; * Example of setting for Windows system: | |
149 ;; | |
150 ;; (require 'printing) ; load printing package | |
151 ;; (setq pr-path-alist | |
152 ;; '((windows "c:/applications/executables" PATH ghostview mpage) | |
153 ;; (ghostview "c:/gs/gsview-dir") | |
154 ;; (mpage "c:/mpage-dir") | |
155 ;; )) | |
156 ;; (setq pr-txt-name 'prt_06a) | |
157 ;; (setq pr-txt-printer-alist | |
158 ;; '((prt_06a "print" nil "/D:\\\\printers\\prt_06a") | |
159 ;; (prt_07c nil nil "/D:\\\\printers\\prt_07c") | |
160 ;; (PRN "" nil "PRN") | |
161 ;; (standard "redpr.exe" nil "") | |
162 ;; )) | |
163 ;; (setq pr-ps-name 'lps_06b) | |
164 ;; (setq pr-ps-printer-alist | |
165 ;; '((lps_06a "print" nil "/D:" "\\\\printers\\lps_06a") | |
166 ;; (lps_06b "print" nil nil "\\\\printers\\lps_06b") | |
167 ;; (lps_07c "print" nil "" "/D:\\\\printers\\lps_07c") | |
168 ;; (lps_08c nil nil nil "\\\\printers\\lps_08c") | |
169 ;; (LPT1 "" nil "" "LPT1:") | |
170 ;; (PRN "" nil "" "PRN") | |
171 ;; (standard "redpr.exe" nil "" "") | |
172 ;; )) | |
173 ;; (pr-update-menus t) ; update now printer and utility menus | |
174 ;; | |
175 ;; * Example of setting for GNU or Unix system: | |
176 ;; | |
177 ;; (require 'printing) ; load printing package | |
178 ;; (setq pr-path-alist | |
179 ;; '((unix "." "~/bin" ghostview mpage PATH) | |
180 ;; (ghostview "$HOME/bin/gsview-dir") | |
181 ;; (mpage "$HOME/bin/mpage-dir") | |
182 ;; )) | |
183 ;; (setq pr-txt-name 'prt_06a) | |
184 ;; (setq pr-txt-printer-alist | |
185 ;; '((prt_06a "lpr" nil "prt_06a") | |
186 ;; (prt_07c nil nil "prt_07c") | |
187 ;; )) | |
188 ;; (setq pr-ps-name 'lps_06b) | |
189 ;; (setq pr-ps-printer-alist | |
190 ;; '((lps_06b "lpr" nil "-P" "lps_06b") | |
191 ;; (lps_07c "lpr" nil nil "lps_07c") | |
192 ;; (lps_08c nil nil nil "lps_08c") | |
193 ;; )) | |
194 ;; (pr-update-menus t) ; update now printer and utility menus | |
195 ;; | |
196 ;; | |
197 ;; NOTE 1: Don't forget to download and install ghostscript utilities (see | |
198 ;; Utilities section). | |
199 ;; | |
200 ;; NOTE 2: The `printer-name' and `ps-printer-name' variables don't need to be | |
201 ;; set, as they are implicit set by `pr-ps-printer-alist' and | |
202 ;; `pr-txt-printer-alist'. | |
203 ;; | |
204 ;; NOTE 3: The duplex feature will only work on PostScript printers that | |
205 ;; support this feature. | |
206 ;; You can check if your PostScript printer supports duplex feature | |
207 ;; by checking the printer manual. Or you can try these steps: | |
208 ;; 1. Open a buffer (or use the *scratch* buffer). | |
209 ;; 2. Type: | |
210 ;; First line (on first page) | |
211 ;; ^L | |
212 ;; Second line (on second page) | |
213 ;; 3. Print this buffer with duplex turned on. | |
214 ;; If it's printed 2 (two) sheets of paper, then your PostScript | |
215 ;; printer doesn't have duplex feature; otherwise, it's ok, your | |
216 ;; printer does have duplex feature. | |
217 ;; | |
54326 | 218 ;; NOTE 4: See Tips section. |
219 ;; | |
220 ;; | |
221 ;; Tips | |
222 ;; ---- | |
223 ;; | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
224 ;; 1. If you have a local printer, that is, a printer which is connected |
54326 | 225 ;; directly to your computer, don't forget to connect the printer to your |
226 ;; computer before printing. | |
227 ;; | |
54333
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
228 ;; 2. If you try to print a file and it seems that the file was printed, but |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
229 ;; there is no paper in the printer, then try to set `pr-delete-temp-file' |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
230 ;; to nil. Probably `printing' is deleting the temporary file before your |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
231 ;; local system can get it to send to the printer. |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
232 ;; |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
233 ;; 3. Don't try to print a dynamic buffer, that is, a buffer which is |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
234 ;; modifying while `printing' tries to print. Eventually you got an error |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
235 ;; message. Instead, save the dynamic buffer to a file or copy it in |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
236 ;; another buffer and, then, print the file or the new static buffer. |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
237 ;; An example of dynamic buffer is the *Messages* buffer. |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
238 ;; |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
239 ;; 4. When running Emacs on Windows (with or without cygwin), check if your |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
240 ;; printer is a text printer or not by typing in a DOS window: |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
241 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
242 ;; print /D:\\host\printer somefile.txt |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
243 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
244 ;; Where, `host' is the machine where the printer is directly connected, |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
245 ;; `printer' is the printer name and `somefile.txt' is a text file. |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
246 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
247 ;; If the printer `\\host\printer' doesn't print the content of |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
248 ;; `somefile.txt' or, instead, it returns the following message: |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
249 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
250 ;; PostScript Error Handler |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
251 ;; Offending Command = CCC |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
252 ;; Stack = |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
253 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
254 ;; Where `CCC' is whatever is at the beginning of the text to be printed. |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
255 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
256 ;; Therefore, the printer `\\host\printer' is not a text printer, but a |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
257 ;; PostScript printer. So, please, don't include this printer in |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
258 ;; `pr-txt-printer-alist' (which see). |
54675
32aae36e32af
Var initialization fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54636
diff
changeset
|
259 ;; |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
260 ;; 5. You can use gsprint instead of ghostscript to print monochrome PostScript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
261 ;; files in Windows. The gsprint utility documentation says that it is more |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
262 ;; efficient than ghostscript to print monochrome PostScript. |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
263 ;; |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
264 ;; To print non-monochrome PostScript file, the efficiency of ghostscript |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
265 ;; is similar to gsprint. |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
266 ;; |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
267 ;; Also the gsprint utility comes together with gsview distribution. |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
268 ;; |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
269 ;; For more information about gsprint see |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
270 ;; `http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm'. |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
271 ;; |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
272 ;; As an example of gsprint declaration: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
273 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
274 ;; (setq pr-ps-printer-alist |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
275 ;; '((A "gsprint" ("-all" "-twoup") "-printer " "my-b/w-printer-name") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
276 ;; (B "gsprint" ("-all" "-twoup") nil "-printer my-b/w-printer-name") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
277 ;; ;; some other printer declaration |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
278 ;; )) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
279 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
280 ;; The example above declares that printer A prints all pages (-all) and two |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
281 ;; pages per sheet (-twoup). The printer B declaration does the same as the |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
282 ;; printer A declaration, the only difference is the printer name selection. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
283 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
284 ;; There are other command line options like: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
285 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
286 ;; -mono Render in monochrome as 1bit/pixel (only black and white). |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
287 ;; -grey Render in greyscale as 8bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
288 ;; -color Render in color as 24bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
289 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
290 ;; The default is `-mono'. So, printer A and B in the example above are |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
291 ;; using implicitly the `-mono' option. Note that in `-mono' no gray tone |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
292 ;; or color is printed, this includes the zebra stripes, that is, in `-mono' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
293 ;; the zebra stripes are not printed. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
294 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
295 ;; See also documentation for `pr-ps-printer-alist'. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
296 ;; |
49646 | 297 ;; |
298 ;; Using `printing' | |
299 ;; ---------------- | |
300 ;; | |
301 ;; To use `printing' insert in your ~/.emacs file (or c:/_emacs, if you're | |
302 ;; using Windows 9x/NT or MS-DOS): | |
303 ;; | |
304 ;; (require 'printing) | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
305 ;; ;; ...some user settings... |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
306 ;; (pr-update-menus t) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
307 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
308 ;; During `pr-update-menus' evaluation: |
49646 | 309 ;; * On Emacs 20: |
310 ;; it replaces the Tools/Print menu by Tools/Printing menu. | |
311 ;; * On Emacs 21: | |
312 ;; it replaces the File/Print* menu entries by File/Print menu. | |
313 ;; Please, see section Menu Layout below for menu explanation. | |
314 ;; | |
315 ;; To use `printing' utilities you can use the Printing menu options, type M-x | |
316 ;; followed by one of the commands below, or type a key associated with the | |
317 ;; command you want (if there is a key binding). | |
318 ;; | |
319 ;; `printing' has the following commands: | |
320 ;; | |
321 ;; pr-interface | |
322 ;; pr-ps-directory-preview | |
323 ;; pr-ps-directory-using-ghostscript | |
324 ;; pr-ps-directory-print | |
325 ;; pr-ps-directory-ps-print | |
326 ;; pr-ps-buffer-preview | |
327 ;; pr-ps-buffer-using-ghostscript | |
328 ;; pr-ps-buffer-print | |
329 ;; pr-ps-buffer-ps-print | |
330 ;; pr-ps-region-preview | |
331 ;; pr-ps-region-using-ghostscript | |
332 ;; pr-ps-region-print | |
333 ;; pr-ps-region-ps-print | |
334 ;; pr-ps-mode-preview | |
335 ;; pr-ps-mode-using-ghostscript | |
336 ;; pr-ps-mode-print | |
337 ;; pr-ps-mode-ps-print | |
338 ;; pr-ps-file-preview | |
339 ;; pr-ps-file-up-preview | |
340 ;; pr-ps-file-using-ghostscript | |
341 ;; pr-ps-file-print | |
342 ;; pr-ps-file-ps-print | |
343 ;; pr-ps-file-up-ps-print | |
344 ;; pr-ps-fast-fire | |
345 ;; pr-despool-preview | |
346 ;; pr-despool-using-ghostscript | |
347 ;; pr-despool-print | |
348 ;; pr-despool-ps-print | |
349 ;; pr-printify-directory | |
350 ;; pr-printify-buffer | |
351 ;; pr-printify-region | |
352 ;; pr-txt-directory | |
353 ;; pr-txt-buffer | |
354 ;; pr-txt-region | |
355 ;; pr-txt-mode | |
356 ;; pr-txt-fast-fire | |
357 ;; pr-toggle-file-duplex | |
358 ;; pr-toggle-file-tumble | |
359 ;; pr-toggle-file-landscape | |
360 ;; pr-toggle-ghostscript | |
361 ;; pr-toggle-faces | |
362 ;; pr-toggle-spool | |
363 ;; pr-toggle-duplex | |
364 ;; pr-toggle-tumble | |
365 ;; pr-toggle-landscape | |
366 ;; pr-toggle-upside-down | |
367 ;; pr-toggle-line | |
368 ;; pr-toggle-zebra | |
369 ;; pr-toggle-header | |
370 ;; pr-toggle-lock | |
371 ;; pr-toggle-region | |
372 ;; pr-toggle-mode | |
373 ;; pr-customize | |
374 ;; lpr-customize | |
375 ;; pr-help | |
376 ;; pr-ps-name | |
377 ;; pr-txt-name | |
378 ;; pr-ps-utility | |
379 ;; pr-show-ps-setup | |
380 ;; pr-show-pr-setup | |
381 ;; pr-show-lpr-setup | |
382 ;; | |
383 ;; The general meanings of above commands are: | |
384 ;; | |
385 ;; PREFIX: | |
386 ;; `pr-interface' buffer interface for printing package. | |
387 ;; `pr-help' help for printing package. | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
388 ;; `pr-ps-name' interactively select a PostScript printer. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
389 ;; `pr-txt-name' interactively select a text printer. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
390 ;; `pr-ps-utility' interactively select a PostScript utility. |
49646 | 391 ;; `pr-show-*-setup' show current settings. |
392 ;; `pr-ps-*' deal with PostScript code generation. | |
393 ;; `pr-txt-*' deal with text generation. | |
394 ;; `pr-toggle-*' toggle on/off some boolean variable. | |
395 ;; `pr-despool-*' despool the PostScript spooling buffer. | |
396 ;; `pr-printify-*' replace nonprintable ASCII by printable ASCII | |
397 ;; representation. | |
398 ;; | |
399 ;; SUFFIX: | |
400 ;; `*-customize' customization. | |
401 ;; `*-preview' preview a PostScript file. | |
402 ;; `*-using-ghostscript' use ghostscript to print. | |
403 ;; `*-fast-fire' fast fire command (see it for documentation). | |
404 ;; `*-print' send PostScript directly to printer. | |
405 ;; `*-ps-print' send PostScript directly to printer or use | |
406 ;; ghostscript to print. It depends on | |
407 ;; `pr-print-using-ghostscript' option. | |
408 ;; | |
409 ;; INFIX/SUFFIX: | |
410 ;; `*-directory*' process a directory. | |
411 ;; `*-buffer*' process a buffer. | |
412 ;; `*-region*' process a region. | |
413 ;; `*-mode*' process a major mode (see explanation below). | |
414 ;; `*-file-*' process a PostScript file. | |
415 ;; `*-file-up-*' process a PostScript file using a filter utility. | |
416 ;; | |
417 ;; Here are some examples: | |
418 ;; | |
419 ;; `pr-ps-buffer-using-ghostscript' | |
420 ;; Use ghostscript to print a buffer. | |
421 ;; | |
422 ;; `pr-ps-file-print' | |
423 ;; Print a PostScript file. | |
424 ;; | |
425 ;; `pr-toggle-spool' | |
426 ;; Toggle spooling buffer. | |
427 ;; | |
428 ;; So you can preview through ghostview, use ghostscript to print (if you don't | |
429 ;; have a PostScript printer) or send directly to printer a PostScript code | |
430 ;; generated by `ps-print' package. | |
431 ;; | |
432 ;; Besides operating one buffer or region each time, you also can postpone | |
433 ;; previewing or printing by saving the PostScript code generated in a | |
434 ;; temporary Emacs buffer. This way you can save banner pages between | |
435 ;; successive printing. You can toggle on/off spooling by invoking | |
436 ;; `pr-toggle-spool' interactively or through menu bar. | |
437 ;; | |
438 ;; If you type, for example: | |
439 ;; | |
440 ;; C-u M-x pr-ps-buffer-print RET | |
441 ;; | |
442 ;; The `pr-ps-buffer-print' command prompts you for a n-up printing number and | |
443 ;; a file name, and save the PostScript code generated to the file name instead | |
444 ;; of sending to printer. | |
445 ;; | |
446 ;; This behavior is similar with the commands that deal with PostScript code | |
447 ;; generation, that is, with `pr-ps-*' and `pr-despool-*' commands. If | |
448 ;; spooling is on, only `pr-despool-*' commands prompt for a file name and save | |
449 ;; the PostScript code spooled in this file. | |
450 ;; | |
451 ;; Besides the behavior described above, the `*-directory*' commands also | |
452 ;; prompt for a directory and a file name regexp. So, it's possible to process | |
453 ;; all or certain files on a directory at once (see also documentation for | |
454 ;; `pr-list-directory'). | |
455 ;; | |
456 ;; `printing' has also a special way to handle some major mode through | |
457 ;; `*-mode*' commands. So it's possible to customize a major mode printing, | |
458 ;; it's only needed to declare the customization in `pr-mode-alist' (see | |
459 ;; section Options) and invoke some of `*-mode*' commands. An example for | |
460 ;; major mode usage is when you're using gnus (or mh, or rmail, etc.) and | |
461 ;; you're in the *Summary* buffer, if you forget to switch to the *Article* | |
462 ;; buffer before printing, you'll get a nicely formatted list of article | |
463 ;; subjects shows up at the printer. With major mode printing you don't need | |
464 ;; to switch from gnus *Summary* buffer first. | |
465 ;; | |
466 ;; Current global keyboard mapping for GNU Emacs is: | |
467 ;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
468 ;; (global-set-key [print] 'pr-ps-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
469 ;; (global-set-key [M-print] 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
470 ;; (global-set-key [S-print] 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
471 ;; (global-set-key [C-print] 'pr-txt-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
472 ;; (global-set-key [C-M-print] 'pr-txt-fast-fire) |
49646 | 473 ;; |
474 ;; And for XEmacs is: | |
475 ;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
476 ;; (global-set-key 'f22 'pr-ps-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
477 ;; (global-set-key '(meta f22) 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
478 ;; (global-set-key '(shift f22) 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
479 ;; (global-set-key '(control f22) 'pr-txt-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
480 ;; (global-set-key '(control meta f22) 'pr-txt-fast-fire) |
49646 | 481 ;; |
482 ;; As a suggestion of global keyboard mapping for some `printing' commands: | |
483 ;; | |
484 ;; (global-set-key "\C-ci" 'pr-interface) | |
485 ;; (global-set-key "\C-cbp" 'pr-ps-buffer-print) | |
486 ;; (global-set-key "\C-cbx" 'pr-ps-buffer-preview) | |
487 ;; (global-set-key "\C-cbb" 'pr-ps-buffer-using-ghostscript) | |
488 ;; (global-set-key "\C-crp" 'pr-ps-region-print) | |
489 ;; (global-set-key "\C-crx" 'pr-ps-region-preview) | |
490 ;; (global-set-key "\C-crr" 'pr-ps-region-using-ghostscript) | |
491 ;; | |
492 ;; | |
493 ;; Options | |
494 ;; ------- | |
495 ;; | |
496 ;; Below it's shown a brief description of `printing' options, please, see the | |
497 ;; options declaration in the code for a long documentation. | |
498 ;; | |
499 ;; `pr-path-style' Specify which path style to use for external | |
500 ;; commands. | |
501 ;; | |
502 ;; `pr-path-alist' Specify an alist for command paths. | |
503 ;; | |
504 ;; `pr-txt-name' Specify a printer for printing a text file. | |
505 ;; | |
506 ;; `pr-txt-printer-alist' Specify an alist of all text printers. | |
507 ;; | |
508 ;; `pr-ps-name' Specify a printer for printing a PostScript | |
509 ;; file. | |
510 ;; | |
511 ;; `pr-ps-printer-alist' Specify an alist for all PostScript printers. | |
512 ;; | |
513 ;; `pr-temp-dir' Specify a directory for temporary files during | |
514 ;; printing. | |
515 ;; | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
516 ;; `pr-ps-temp-file' Specify PostScript temporary file name prefix. |
49646 | 517 ;; |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
518 ;; `pr-file-modes' Specify the file permission bits for newly |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
519 ;; created files. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
520 ;; |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
521 ;; `pr-gv-command' Specify path and name of the gsview/gv |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
522 ;; utility. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
523 ;; |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
524 ;; `pr-gs-command' Specify path and name of the ghostscript |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
525 ;; utility. |
49646 | 526 ;; |
527 ;; `pr-gs-switches' Specify ghostscript switches. | |
528 ;; | |
529 ;; `pr-gs-device' Specify ghostscript device switch value. | |
530 ;; | |
531 ;; `pr-gs-resolution' Specify ghostscript resolution switch value. | |
532 ;; | |
533 ;; `pr-print-using-ghostscript' Non-nil means print using ghostscript. | |
534 ;; | |
535 ;; `pr-faces-p' Non-nil means print with face attributes. | |
536 ;; | |
537 ;; `pr-spool-p' Non-nil means spool printing in a buffer. | |
538 ;; | |
539 ;; `pr-file-landscape' Non-nil means print PostScript file in | |
540 ;; landscape orientation. | |
541 ;; | |
542 ;; `pr-file-duplex' Non-nil means print PostScript file in duplex | |
543 ;; mode. | |
544 ;; | |
545 ;; `pr-file-tumble' Non-nil means print PostScript file in tumble | |
546 ;; mode. | |
547 ;; | |
548 ;; `pr-auto-region' Non-nil means region is automagically detected. | |
549 ;; | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
550 ;; `pr-auto-mode' Non-nil means major-mode specific printing is |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
551 ;; prefered over normal printing. |
49646 | 552 ;; |
553 ;; `pr-mode-alist' Specify an alist for a major-mode and printing | |
554 ;; function. | |
555 ;; | |
556 ;; `pr-ps-utility' Specify PostScript utility processing. | |
557 ;; | |
558 ;; `pr-ps-utility-alist' Specify an alist for PostScript utility | |
559 ;; processing. | |
560 ;; | |
561 ;; `pr-menu-lock' Non-nil means menu is locked while selecting | |
562 ;; toggle options. | |
563 ;; | |
564 ;; `pr-menu-char-height' Specify menu char height in pixels. | |
565 ;; | |
566 ;; `pr-menu-char-width' Specify menu char width in pixels. | |
567 ;; | |
568 ;; `pr-setting-database' Specify an alist for settings in general. | |
569 ;; | |
570 ;; `pr-visible-entry-list' Specify a list of Printing menu visible | |
571 ;; entries. | |
572 ;; | |
573 ;; `pr-delete-temp-file' Non-nil means delete temporary files. | |
574 ;; | |
575 ;; `pr-list-directory' Non-nil means list directory when processing a | |
576 ;; directory. | |
577 ;; | |
578 ;; `pr-buffer-name' Specify the name of the buffer interface for | |
579 ;; printing package. | |
580 ;; | |
581 ;; `pr-buffer-name-ignore' Specify a regexp list for buffer names to be | |
582 ;; ignored in interface buffer. | |
583 ;; | |
584 ;; `pr-buffer-verbose' Non-nil means to be verbose when editing a | |
585 ;; field in interface buffer. | |
586 ;; | |
587 ;; To set the above options you may: | |
588 ;; | |
589 ;; a) insert the code in your ~/.emacs, like: | |
590 ;; | |
591 ;; (setq pr-faces-p t) | |
592 ;; | |
593 ;; This way always keep your default settings when you enter a new Emacs | |
594 ;; session. | |
595 ;; | |
596 ;; b) or use `set-variable' in your Emacs session, like: | |
597 ;; | |
598 ;; M-x set-variable RET pr-faces-p RET t RET | |
599 ;; | |
600 ;; This way keep your settings only during the current Emacs session. | |
601 ;; | |
602 ;; c) or use customization, for example: | |
603 ;; click on menu-bar *Help* option, | |
604 ;; then click on *Customize*, | |
605 ;; then click on *Browse Customization Groups*, | |
606 ;; expand *PostScript* group, | |
607 ;; expand *Printing* group | |
608 ;; and then customize `printing' options. | |
609 ;; Through this way, you may choose if the settings are kept or not when | |
610 ;; you leave out the current Emacs session. | |
611 ;; | |
612 ;; d) or see the option value: | |
613 ;; | |
614 ;; C-h v pr-faces-p RET | |
615 ;; | |
616 ;; and click the *customize* hypertext button. | |
617 ;; Through this way, you may choose if the settings are kept or not when | |
618 ;; you leave out the current Emacs session. | |
619 ;; | |
620 ;; e) or invoke: | |
621 ;; | |
622 ;; M-x pr-customize RET | |
623 ;; | |
624 ;; and then customize `printing' options. | |
625 ;; Through this way, you may choose if the settings are kept or not when | |
626 ;; you leave out the current Emacs session. | |
627 ;; | |
628 ;; f) or use menu bar, for example: | |
629 ;; click on menu-bar *File* option, | |
630 ;; then click on *Printing*, | |
631 ;; then click on *Customize*, | |
632 ;; then click on *printing* | |
633 ;; and then customize `printing' options. | |
634 ;; Through this way, you may choose if the settings are kept or not when | |
635 ;; you leave out the current Emacs session. | |
636 ;; | |
637 ;; | |
638 ;; Menu Layout | |
639 ;; ----------- | |
640 ;; | |
641 ;; The `printing' menu (Tools/Printing or File/Print) has the following layout: | |
642 ;; | |
643 ;; +-----------------------------+ | |
644 ;; A 0 | Printing Interface | | |
645 ;; +-----------------------------+ +-A---------+ +-B------+ | |
646 ;; I 1 | PostScript Preview >|-------|Directory >|-----|1-up | | |
647 ;; 2 | PostScript Print >|---- A |Buffer >|-- B |2-up | | |
648 ;; 3 | PostScript Printer: name >|---- C |Region >|-- B |4-up | | |
649 ;; +-----------------------------+ |Mode >|-- B |Other...| | |
650 ;; II 4 | Printify >|-----\ |File >|--\ +--------+ | |
651 ;; 5 | Print >|---\ | |Despool... | | | |
652 ;; 6 | Text Printer: name >|-\ | | +-----------+ | | |
653 ;; +-----------------------------+ | | | +---------+ +------------+ | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
654 ;; III 7 |[ ]Landscape | | | \-|Directory| | No Prep... | Ia |
49646 | 655 ;; 8 |[ ]Print Header | | | |Buffer | +------------+ Ib |
656 ;; 9 |[ ]Print Header Frame | | | |Region | | name >|- C | |
657 ;; 10 |[ ]Line Number | | | +---------+ +------------+ | |
658 ;; 11 |[ ]Zebra Stripes | | | +---------+ | 1-up... | Ic | |
659 ;; 12 |[ ]Duplex | | \---|Directory| | 2-up... | | |
660 ;; 13 |[ ]Tumble | \--\ |Buffer | | 4-up... | | |
661 ;; 14 |[ ]Upside-Down | | |Region | | Other... | | |
662 ;; 15 | Print All Pages >|--\ | |Mode | +------------+ | |
663 ;; +-----------------------------+ | | +---------+ |[ ]Landscape| Id | |
664 ;; IV 16 |[ ]Spool Buffer | | | +-C-------+ |[ ]Duplex | Ie | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
665 ;; 17 |[ ]Print with faces | | \--|( )name A| |[ ]Tumble | If |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
666 ;; 18 |[ ]Print via Ghostscript | | |( )name B| +------------+ |
49646 | 667 ;; +-----------------------------+ | |... | |
668 ;; V 19 |[ ]Auto Region | | |(*)name | | |
669 ;; 20 |[ ]Auto Mode | | |... | | |
670 ;; 21 |[ ]Menu Lock | | +---------+ +--------------+ | |
671 ;; +-----------------------------+ \------------------|(*)All Pages | | |
672 ;; VI 22 | Customize >|--- D +-D------+ |( )Even Pages | | |
673 ;; 23 | Show Settings >|-------|printing| |( )Odd Pages | | |
674 ;; 24 | Help | |ps-print| |( )Even Sheets| | |
675 ;; +-----------------------------+ |lpr | |( )Odd Sheets | | |
676 ;; +--------+ +--------------+ | |
677 ;; | |
678 ;; See `pr-visible-entry-list' for hiding some parts of the menu. | |
679 ;; | |
680 ;; The menu has the following sections: | |
681 ;; | |
682 ;; A. Interface: | |
683 ;; | |
684 ;; 0. You can use a buffer interface instead of menus. It looks like the | |
685 ;; customization buffer. Basically, it has the same options found in the | |
686 ;; menu and some extra options, all this on a buffer. | |
687 ;; | |
688 ;; I. PostScript printing: | |
689 ;; | |
690 ;; 1. You can generate a PostScript file (if you type C-u before activating | |
691 ;; menu) or PostScript temporary file for a directory, a buffer, a region | |
692 ;; or a major mode, choosing 1-up, 2-up, 4-up or any other n-up printing; | |
693 ;; after file generation, ghostview is activated using the file generated | |
694 ;; as argument. This option is disabled if spooling is on (option 16). | |
695 ;; Also, if you already have a PostScript file you can preview it. | |
696 ;; Instead of previewing each buffer, region or major mode at once, you | |
697 ;; can save temporarily the PostScript code generated in a buffer and | |
698 ;; preview it later. The option `Despool...' despools the PostScript | |
699 ;; spooling buffer in a temporary file and uses ghostview to preview it. | |
700 ;; If you type C-u before choosing this option, the PostScript code | |
701 ;; generated is saved in a file instead of saving in a temporary file. | |
702 ;; To spool the PostScript code generated you need to turn on the option | |
703 ;; 16. The option `Despool...' is enabled if spooling is on (option | |
704 ;; 16). | |
705 ;; | |
706 ;; NOTE 1: It's possible to customize a major mode printing, just declare | |
707 ;; the customization in `pr-mode-alist' and invoke some of | |
708 ;; `*-mode*' commands or select Mode option in Printing menu. An | |
709 ;; example for major mode usage is when you're using gnus (or mh, | |
710 ;; or rmail, etc.) and you're in the *Summary* buffer, if you | |
711 ;; forget to switch to the *Article* buffer before printing, | |
712 ;; you'll get a nicely formatted list of article subjects shows | |
713 ;; up at the printer. With major mode printing you don't need to | |
714 ;; switch from gnus *Summary* buffer first. | |
715 ;; | |
716 ;; NOTE 2: There are the following options for PostScript file | |
717 ;; processing: | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
718 ;; Ia. Print the file *No Preprocessing*, that is, send it |
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
719 ;; directly to PostScript printer. |
49646 | 720 ;; Ib. PostScript utility processing selection. |
721 ;; See `pr-ps-utility-alist' and `pr-setting-database' for | |
722 ;; documentation. | |
723 ;; Ic. Do n-up processing before printing. | |
724 ;; Id. Toggle on/off landscape for PostScript file processing. | |
725 ;; Ie. Toggle on/off duplex for PostScript file processing. | |
726 ;; If. Toggle on/off tumble for PostScript file processing. | |
727 ;; | |
728 ;; NOTE 3: Don't forget to download and install the utilities declared on | |
729 ;; `pr-ps-utility-alist'. | |
730 ;; | |
731 ;; 2. Operate the same way as option 1, but it sends directly the PostScript | |
732 ;; code (or put in a file, if you've typed C-u) or it uses ghostscript to | |
733 ;; print the PostScript file generated. It depends on option 18, if it's | |
734 ;; turned on, it uses ghostscript; otherwise, it sends directly to | |
735 ;; printer. If spooling is on (option 16), the PostScript code is saved | |
736 ;; temporarily in a buffer instead of printing it or saving it in a file. | |
737 ;; Also, if you already have a PostScript file you can print it. Instead | |
738 ;; of printing each buffer, region or major mode at once, you can save | |
739 ;; temporarily the PostScript code generated in a buffer and print it | |
740 ;; later. The option `Despool...' despools the PostScript spooling | |
741 ;; buffer directly on a printer. If you type C-u before choosing this | |
742 ;; option, the PostScript code generated is saved in a file instead of | |
743 ;; sending to printer. To spool the PostScript code generated you need | |
744 ;; to turn on the option 16. This option is enabled if spooling is on | |
745 ;; (option 16). See also the NOTE 1, NOTE 2 and NOTE 3 on option 1. | |
746 ;; | |
747 ;; 3. You can select a new PostScript printer to send PostScript code | |
748 ;; generated. For selection it's used all PostScript printers defined | |
749 ;; in `pr-ps-printer-alist' variable (see it for documentation). | |
750 ;; See also `pr-setting-database'. | |
751 ;; | |
752 ;; II. Text printing: | |
753 ;; | |
754 ;; 4. If you have control characters (character code from \000 to \037) in a | |
755 ;; buffer and you want to print them in a text printer, select this | |
756 ;; option. All control characters in your buffer or region will be | |
757 ;; replaced by a printable representation. The printable representations | |
758 ;; use ^ (for ASCII control characters) or hex. The characters tab, | |
759 ;; linefeed, space, return and formfeed are not affected. You don't need | |
760 ;; to select this option if you use any option of section I, the | |
761 ;; PostScript engine treats control characters properly. | |
762 ;; | |
763 ;; 5. If you want to print a directory, buffer, region or major mode in a | |
764 ;; text printer, select this option. See also the NOTE 1 on option 1. | |
765 ;; | |
766 ;; 6. You can select a new text printer to send text generated. For | |
767 ;; selection it's used all text printers defined in | |
768 ;; `pr-txt-printer-alist' variable (see it for documentation). | |
769 ;; See also `pr-setting-database'. | |
770 ;; | |
771 ;; III. PostScript page toggle options: | |
772 ;; | |
773 ;; 7. If you want a PostScript landscape printing, turn on this option. | |
774 ;; | |
775 ;; 8. If you want to have a header in each page in your PostScript code, | |
776 ;; turn on this option. | |
777 ;; | |
778 ;; 9. If you want to draw a gaudy frame around the header, turn on this | |
779 ;; option. This option is enabled if print header is on (option 8). | |
780 ;; | |
781 ;; 10. If you want that the line number is printed in your PostScript code, | |
782 ;; turn on this option. | |
783 ;; | |
784 ;; 11. If you want background zebra stripes in your PostScript code, turn on | |
785 ;; this option. | |
786 ;; | |
787 ;; 12. If you want a duplex printing and your PostScript printer has this | |
788 ;; feature, turn on this option. | |
789 ;; | |
790 ;; 13. If you turned on duplex printing, you can choose if you want to have | |
791 ;; a printing suitable for binding on the left or right (tumble off), or | |
792 ;; to have a printing suitable for binding at top or bottom (tumble on). | |
793 ;; This option is enabled if duplex is on (option 12). | |
794 ;; | |
795 ;; 14. If you want a PostScript upside-down printing, turn on this option. | |
796 ;; | |
797 ;; 15. With this option, you can choose if you want to print all pages, odd | |
798 ;; pages, even pages, odd sheets or even sheets. | |
799 ;; See also `ps-even-or-odd-pages'. | |
800 ;; | |
801 ;; IV. PostScript processing toggle options: | |
802 ;; | |
803 ;; 16. If you want to spool the PostScript code generated, turn on this | |
804 ;; option. To spool the PostScript code generated use option 2. You | |
805 ;; can despool later by choosing option 1 or 2, sub-option `Despool...'. | |
806 ;; | |
807 ;; 17. If you use colors in your buffers and want to see these colors on | |
808 ;; your PostScript code generated, turn on this option. If you have a | |
809 ;; black/white PostScript printer, these colors are displayed in gray | |
810 ;; scale by PostScript printer interpreter. | |
811 ;; | |
812 ;; 18. If you don't have a PostScript printer to send PostScript files, turn | |
813 ;; on this option. When this option is on, the ghostscript is used to | |
814 ;; print PostScript files. In GNU or Unix system, if ghostscript is set | |
815 ;; as a PostScript filter, you don't need to turn on this option. | |
816 ;; | |
817 ;; V. Printing customization: | |
818 ;; | |
819 ;; 19. If you want that region is automagically detected, turn on this | |
820 ;; option. Note that this will only work if you're using transient mark | |
821 ;; mode. When this option is on, the `*-buffer*' commands will behave | |
822 ;; like `*-region*' commands, that is, `*-buffer*' commands will print | |
823 ;; only the region marked instead of all buffer. | |
824 ;; | |
825 ;; 20. Turn this option on if you want that when current major-mode is | |
826 ;; declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands | |
827 ;; behave like `*-mode*' commands. | |
828 ;; | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
829 ;; 21. If you want that Printing menu stays open while you are setting |
49646 | 830 ;; toggle options, turn on this option. The variables |
831 ;; `pr-menu-char-height' and `pr-menu-char-width' are used to guess the | |
832 ;; menu position, so don't forget to adjust these variables if menu | |
833 ;; position is not ok. | |
834 ;; | |
835 ;; VI. Customization: | |
836 ;; | |
837 ;; 22. Besides all options in section III, IV and V, you can customize much | |
838 ;; more PostScript options in `ps-print' option. Or you can customize | |
839 ;; some `lpr' options for text printing. Or customize `printing' | |
840 ;; options. | |
841 ;; | |
842 ;; 23. Show current settings for `printing', `ps-print' or `lpr'. | |
843 ;; | |
844 ;; 24. Quick help for printing menu layout. | |
845 ;; | |
846 ;; | |
847 ;; Option Settings | |
848 ;; --------------- | |
849 ;; | |
850 ;; Below it's shown only the main options that affect all `printing' package. | |
851 ;; Check all the settings below *BEFORE* running `printing' commands. | |
852 ;; | |
853 ;; * Example of setting for GNU or Unix system: | |
854 ;; | |
855 ;; (require 'printing) | |
856 ;; (setq pr-path-alist | |
857 ;; '((unix "." "~/bin" ghostview mpage PATH) | |
858 ;; (ghostview "$HOME/bin/gsview-dir") | |
859 ;; (mpage "$HOME/bin/mpage-dir") | |
860 ;; )) | |
861 ;; (setq pr-txt-name 'prt_06a) | |
862 ;; (setq pr-txt-printer-alist | |
863 ;; '((prt_06a "lpr" nil "prt_06a") | |
864 ;; (prt_07c nil nil "prt_07c") | |
865 ;; )) | |
866 ;; (setq pr-ps-name 'lps_06b) | |
867 ;; (setq pr-ps-printer-alist | |
868 ;; '((lps_06b "lpr" nil "-P" "lps_06b") | |
869 ;; (lps_07c "lpr" nil nil "lps_07c") | |
870 ;; (lps_08c nil nil nil "lps_08c") | |
871 ;; )) | |
872 ;; (setq pr-temp-dir "/tmp/") | |
873 ;; (setq pr-gv-command "gv") | |
874 ;; (setq pr-gs-command "gs") | |
875 ;; (setq pr-gs-switches '("-q -dNOPAUSE -I/usr/share/ghostscript/5.10")) | |
876 ;; (setq pr-gs-device "uniprint") | |
877 ;; (setq pr-gs-resolution 300) | |
878 ;; (setq pr-ps-utility 'mpage) | |
879 ;; (setq pr-ps-utility-alist | |
880 ;; '((mpage "mpage" nil "-b%s" "-%d" "-l" "-t" "-T" ">" nil) | |
881 ;; (psnup "psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
882 ;; (inherits-from: . no-duplex)) | |
883 ;; )) | |
884 ;; (setq pr-setting-database | |
885 ;; '((no-duplex | |
886 ;; nil nil nil | |
887 ;; (pr-file-duplex . nil) | |
888 ;; (pr-file-tumble . nil)) | |
889 ;; )) | |
890 ;; (pr-update-menus t) ; update now printer and utility menus | |
891 ;; | |
892 ;; * Example of setting for Windows system: | |
893 ;; | |
894 ;; (require 'printing) | |
895 ;; (setq pr-path-alist | |
896 ;; '((windows "c:/applications/executables" PATH ghostview mpage) | |
897 ;; (ghostview "c:/gs/gsview-dir") | |
898 ;; (mpage "c:/mpage-dir") | |
899 ;; )) | |
900 ;; (setq pr-txt-name 'prt_06a) | |
901 ;; (setq pr-txt-printer-alist | |
902 ;; '((prt_06a "print" nil "/D:\\\\printers\\prt_06a") | |
903 ;; (prt_07c nil nil "/D:\\\\printers\\prt_07c") | |
904 ;; (PRN "" nil "PRN") | |
905 ;; (standard "redpr.exe" nil "") | |
906 ;; )) | |
907 ;; (setq pr-ps-name 'lps_06b) | |
908 ;; (setq pr-ps-printer-alist | |
909 ;; '((lps_06a "print" nil "/D:" "\\\\printers\\lps_06a") | |
910 ;; (lps_06b "print" nil nil "\\\\printers\\lps_06b") | |
911 ;; (lps_07c "print" nil "" "/D:\\\\printers\\lps_07c") | |
912 ;; (lps_08c nil nil nil "\\\\printers\\lps_08c") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
913 ;; (b/w "gsprint" ("-all" "-twoup") "-printer " "b/w-pr-name") |
49646 | 914 ;; (LPT1 "" nil "" "LPT1:") |
915 ;; (PRN "" nil "" "PRN") | |
916 ;; (standard "redpr.exe" nil "" "") | |
917 ;; )) | |
918 ;; (setq pr-temp-dir "C:/WINDOWS/TEMP/") | |
919 ;; (setq pr-gv-command "c:/gs/gsview/gsview32.exe") | |
920 ;; (setq pr-gs-command "c:/gs/gswin32.exe") | |
921 ;; (setq pr-gs-switches '("-q -dNOPAUSE -Ic:/gs/gs5.50;c:/gs/gs5.50/fonts")) | |
922 ;; (setq pr-gs-device "mswinpr2") | |
923 ;; (setq pr-gs-resolution 300) | |
924 ;; (setq pr-ps-utility 'psnup) | |
925 ;; (setq pr-ps-utility-alist | |
926 ;; '((psnup "c:/psutils/psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " | |
927 ;; nil (inherits-from: . no-duplex)) | |
928 ;; )) | |
929 ;; (setq pr-setting-database | |
930 ;; '((no-duplex | |
931 ;; nil nil nil | |
932 ;; (pr-file-duplex . nil) | |
933 ;; (pr-file-tumble . nil)) | |
934 ;; )) | |
935 ;; (pr-update-menus t) ; update now printer and utility menus | |
936 ;; | |
937 ;; NOTE: Don't forget to download and install the utilities declared on | |
938 ;; `pr-ps-utility-alist'. | |
939 ;; | |
940 ;; | |
941 ;; Utilities | |
942 ;; --------- | |
943 ;; | |
944 ;; `printing' package has the following utilities: | |
945 ;; | |
946 ;; `pr-setup' Return the current `printing' setup. | |
947 ;; | |
948 ;; `lpr-setup' Return the current `lpr' setup. | |
949 ;; | |
950 ;; `pr-update-menus' Update utility, PostScript and text printer menus. | |
951 ;; | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
952 ;; `pr-menu-bind' Install `printing' menu in the menubar. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
953 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
954 ;; |
49646 | 955 ;; Below are some URL where you can find good utilities. |
956 ;; | |
957 ;; * For `printing' package: | |
958 ;; | |
73827
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
959 ;; printing `http://www.emacswiki.org/cgi-bin/emacs/download/printing.el' |
75712
f24fee7e36d4
Fix ps-print links
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
75347
diff
changeset
|
960 ;; ps-print `http://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage' |
49646 | 961 ;; |
962 ;; * For GNU or Unix system: | |
963 ;; | |
964 ;; gs, gv `http://www.gnu.org/software/ghostscript/ghostscript.html' | |
965 ;; enscript `http://people.ssh.fi/mtr/genscript/' | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
966 ;; psnup `http://www.knackered.org/angus/psutils/' |
49646 | 967 ;; mpage `http://www.mesa.nl/pub/mpage/' |
968 ;; | |
969 ;; * For Windows system: | |
970 ;; | |
971 ;; gswin32, gsview32 | |
972 ;; `http://www.gnu.org/software/ghostscript/ghostscript.html' | |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
973 ;; gsprint `http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm'. |
49646 | 974 ;; enscript `http://people.ssh.fi/mtr/genscript/' |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
975 ;; psnup `http://gnuwin32.sourceforge.net/packages/psutils.htm' |
49646 | 976 ;; redmon `http://www.cs.wisc.edu/~ghost/redmon/' |
977 ;; | |
978 ;; | |
979 ;; Acknowledgments | |
980 ;; --------------- | |
981 ;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
982 ;; Thanks to Stefan Monnier <monnier@iro.umontreal.ca> for GNU Emacs and XEmacs |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
983 ;; printing menu (in `pr-menu-spec') merging suggestion. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
984 ;; |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
985 ;; Thanks to Lennart Borgman <lennart.borgman.073@student.lu.se> for gsprint |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
986 ;; suggestion (see tip 5 in section Tips). |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
987 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
988 ;; Thanks to Drew Adams <drew.adams@oracle.com> for suggestions: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
989 ;; - directory processing. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
990 ;; - `pr-path-alist' variable. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
991 ;; - doc fix. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
992 ;; - a lot of tests on Windows. |
49646 | 993 ;; |
994 ;; Thanks to Fred Labrosse <f.labrosse@maths.bath.ac.uk> for XEmacs tests. | |
995 ;; | |
996 ;; Thanks to Klaus Berndl <klaus.berndl@sdm.de> for invaluable help/debugging | |
997 ;; and for suggestions: | |
998 ;; - even/odd pages printing. | |
999 ;; - ghostscript parameters for `pr-ps-printer-alist'. | |
1000 ;; - default printer name. | |
1001 ;; - completion functions. | |
1002 ;; - automagic region detection. | |
1003 ;; - menu entry hiding. | |
1004 ;; - fast fire PostScript printing command. | |
1005 ;; - `pr-path-style' variable. | |
1006 ;; | |
1007 ;; Thanks to Kim F. Storm <storm@filanet.dk> for beta-test and for suggestions: | |
1008 ;; - PostScript Print and PostScript Print Preview merge. | |
1009 ;; - Tools/Printing menu. | |
1010 ;; - replace *-using-preview by *-using-ghostscript. | |
1011 ;; - printer selection. | |
1012 ;; - extra parameters for `pr-ps-printer-alist'. | |
1013 ;; | |
1014 ;; Thanks to: | |
1015 ;; Frederic Corne <frederic.corne@erli.fr> print-nt.el | |
1016 ;; Tom Vogels <tov@ece.cmu.edu> mh-e-init.el | |
1017 ;; Matthew O. Persico <mpersico@erols.com> win32-ps-print.el | |
1018 ;; Volker Franz <volker.franz@tuebingen.mpg.de> ps-print-interface.el | |
1019 ;; And to all people who contributed with them. | |
1020 ;; | |
1021 ;; | |
1022 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1023 | |
1024 ;;; Code: | |
1025 | |
1026 | |
1027 (require 'lpr) | |
1028 (require 'ps-print) | |
1029 | |
1030 | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
1031 (and (string< ps-print-version "6.6.4") |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
1032 (error "`printing' requires `ps-print' package version 6.6.4 or later")) |
49646 | 1033 |
1034 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1035 (defconst pr-cygwin-system |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1036 (and ps-windows-system (getenv "OSTYPE") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1037 (string-match "cygwin" (getenv "OSTYPE")))) |
49646 | 1038 |
1039 | |
1040 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1041 ;; To avoid compilation gripes | |
1042 | |
1043 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1044 (or (fboundp 'subst-char-in-string) ; hacked from subr.el |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1045 (defun subst-char-in-string (fromchar tochar string &optional inplace) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1046 "Replace FROMCHAR with TOCHAR in STRING each time it occurs. |
49646 | 1047 Unless optional argument INPLACE is non-nil, return a new string." |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1048 (let ((i (length string)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1049 (newstr (if inplace string (copy-sequence string)))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1050 (while (> (setq i (1- i)) 0) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1051 (if (eq (aref newstr i) fromchar) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1052 (aset newstr i tochar))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1053 newstr))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1054 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1055 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1056 (or (fboundp 'make-temp-file) ; hacked from subr.el |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1057 (defun make-temp-file (prefix &optional dir-flag suffix) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1058 "Create a temporary file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1059 The returned file name (created by appending some random characters at the end |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1060 of PREFIX, and expanding against `temporary-file-directory' if necessary), |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1061 is guaranteed to point to a newly created empty file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1062 You can then use `write-region' to write new data into the file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1063 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1064 If DIR-FLAG is non-nil, create a new empty directory instead of a file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1065 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1066 If SUFFIX is non-nil, add that at the end of the file name." |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1067 (let ((umask (default-file-modes)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1068 file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1069 (unwind-protect |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1070 (progn |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1071 ;; Create temp files with strict access rights. It's easy to |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1072 ;; loosen them later, whereas it's impossible to close the |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1073 ;; time-window of loose permissions otherwise. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1074 (set-default-file-modes ?\700) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1075 (while (condition-case () |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1076 (progn |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1077 (setq file |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1078 (make-temp-name |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1079 (expand-file-name prefix temporary-file-directory))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1080 (if suffix |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1081 (setq file (concat file suffix))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1082 (if dir-flag |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1083 (make-directory file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1084 (write-region "" nil file nil 'silent nil 'excl)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1085 nil) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1086 (file-already-exists t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1087 ;; the file was somehow created by someone else between |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1088 ;; `make-temp-name' and `write-region', let's try again. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1089 nil) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1090 file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1091 ;; Reset the umask. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1092 (set-default-file-modes umask))))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1093 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1094 |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1095 (eval-when-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1096 ;; User Interface --- declared here to avoid compiler warnings |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1097 (defvar pr-path-style) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1098 (defvar pr-auto-region) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1099 (defvar pr-menu-char-height) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1100 (defvar pr-menu-char-width) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1101 (defvar pr-menu-lock) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1102 (defvar pr-ps-printer-alist) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1103 (defvar pr-txt-printer-alist) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1104 (defvar pr-ps-utility-alist) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1105 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1106 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1107 ;; Internal fun alias to avoid compilation gripes |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1108 (defalias 'pr-menu-lookup 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1109 (defalias 'pr-menu-lock 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1110 (defalias 'pr-menu-alist 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1111 (defalias 'pr-even-or-odd-pages 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1112 (defalias 'pr-menu-get-item 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1113 (defalias 'pr-menu-set-item-name 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1114 (defalias 'pr-menu-set-utility-title 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1115 (defalias 'pr-menu-set-ps-title 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1116 (defalias 'pr-menu-set-txt-title 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1117 (defalias 'pr-region-active-p 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1118 (defalias 'pr-do-update-menus 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1119 (defalias 'pr-update-mode-line 'ignore) |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1120 (defalias 'pr-read-string 'ignore) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1121 (defalias 'pr-set-keymap-parents 'ignore) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1122 (defalias 'pr-keep-region-active 'ignore)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1123 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1124 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1125 ;; Internal Vars --- defined here to avoid compiler warnings |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1126 (defvar pr-menu-print-item "print" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1127 "Non-nil means that menu binding was not done. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1128 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1129 Used by `pr-menu-bind' and `pr-update-menus'.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1130 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1131 (defvar pr-ps-printer-menu-modified t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1132 "Non-nil means `pr-ps-printer-alist' was modified and we need to update menu.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1133 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1134 (defvar pr-txt-printer-menu-modified t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1135 "Non-nil means `pr-txt-printer-alist' was modified and we need to update menu.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1136 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1137 (defvar pr-ps-utility-menu-modified t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1138 "Non-nil means `pr-ps-utility-alist' was modified and we need to update menu.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1139 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1140 (defconst pr-even-or-odd-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1141 '((nil . "Print All Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1142 (even-page . "Print Even Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1143 (odd-page . "Print Odd Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1144 (even-sheet . "Print Even Sheets") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1145 (odd-sheet . "Print Odd Sheets"))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1146 |
80951 | 1147 |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1148 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1149 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1150 ;; XEmacs Definitions |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1151 |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1152 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1153 (cond |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1154 ((featurep 'xemacs) ; XEmacs |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1155 ;; XEmacs |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1156 (defalias 'pr-set-keymap-parents 'set-keymap-parents) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1157 (defalias 'pr-set-keymap-name 'set-keymap-name) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1158 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1159 ;; XEmacs |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1160 (defun pr-read-string (prompt initial history default) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1161 (let ((str (read-string prompt initial))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1162 (if (and str (not (string= str ""))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1163 str |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1164 default))) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1165 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1166 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1167 (defvar zmacs-region-stays nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1168 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1169 ;; XEmacs |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1170 (defun pr-keep-region-active () |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1171 (setq zmacs-region-stays t)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1172 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1173 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1174 (defun pr-region-active-p () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1175 (and pr-auto-region (not zmacs-region-stays) (ps-mark-active-p))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1176 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1177 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1178 (defun pr-menu-char-height () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1179 (font-height (face-font 'default))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1180 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1181 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1182 (defun pr-menu-char-width () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1183 (font-width (face-font 'default))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1184 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1185 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1186 (defmacro pr-xemacs-global-menubar (&rest body) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1187 `(save-excursion |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1188 (let ((temp (get-buffer-create (make-temp-name " *Temp")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1189 ;; be sure to access global menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1190 (set-buffer temp) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1191 ,@body |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1192 (kill-buffer temp)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1193 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1194 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1195 (defun pr-global-menubar (pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1196 ;; Menu binding |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1197 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1198 (add-submenu nil (cons "Printing" pr-menu-spec) "Apps")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1199 (setq pr-menu-print-item nil)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1200 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1201 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1202 (defvar current-mouse-event nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1203 (defun pr-menu-position (entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1204 (make-event |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1205 'button-release |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1206 (list 'button 1 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1207 'x (- (event-x-pixel current-mouse-event) ; X |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1208 (* horizontal pr-menu-char-width)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1209 'y (- (event-y-pixel current-mouse-event) ; Y |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1210 (* (pr-menu-index entry index) pr-menu-char-height))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1211 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1212 (defvar pr-menu-position nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1213 (defvar pr-menu-state nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1214 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1215 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1216 (defvar current-menubar nil) ; to avoid compilation gripes |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1217 (defun pr-menu-lookup (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1218 (car (find-menu-item current-menubar (cons "Printing" path)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1219 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1220 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1221 (defun pr-menu-lock (entry index horizontal state path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1222 (when pr-menu-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1223 (or (and pr-menu-position (eq state pr-menu-state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1224 (setq pr-menu-position (pr-menu-position entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1225 pr-menu-state state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1226 (let* ((menu (pr-menu-lookup path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1227 (result (get-popup-menu-response menu pr-menu-position))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1228 (and (misc-user-event-p result) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1229 (funcall (event-function result) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1230 (event-object result)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1231 (setq pr-menu-position nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1232 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1233 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1234 (defalias 'pr-update-mode-line 'set-menubar-dirty-flag) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1235 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1236 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1237 (defvar pr-ps-name-old "PostScript Printers") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1238 (defvar pr-txt-name-old "Text Printers") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1239 (defvar pr-ps-utility-old "PostScript Utility") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1240 (defvar pr-even-or-odd-old "Print All Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1241 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1242 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1243 (defun pr-do-update-menus (&optional force) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1244 (pr-menu-alist pr-ps-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1245 'pr-ps-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1246 'pr-menu-set-ps-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1247 '("Printing") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1248 'pr-ps-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1249 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1250 pr-ps-name-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1251 'postscript 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1252 (pr-menu-alist pr-txt-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1253 'pr-txt-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1254 'pr-menu-set-txt-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1255 '("Printing") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1256 'pr-txt-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1257 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1258 pr-txt-name-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1259 'text 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1260 (let ((save-var pr-ps-utility-menu-modified)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1261 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1262 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1263 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1264 '("Printing" "PostScript Print" "File") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1265 'save-var |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1266 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1267 pr-ps-utility-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1268 nil 1)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1269 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1270 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1271 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1272 '("Printing" "PostScript Preview" "File") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1273 'pr-ps-utility-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1274 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1275 pr-ps-utility-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1276 nil 1) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1277 (pr-even-or-odd-pages ps-even-or-odd-pages force)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1278 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1279 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1280 (defun pr-menu-alist (alist var-sym fun menu-path modified-sym force name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1281 entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1282 (when (and alist (or force (symbol-value modified-sym))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1283 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1284 (add-submenu menu-path |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1285 (pr-menu-create name alist var-sym |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1286 fun entry index))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1287 (funcall fun (symbol-value var-sym)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1288 (set modified-sym nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1289 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1290 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1291 (defun pr-relabel-menu-item (newname var-sym) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1292 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1293 (relabel-menu-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1294 (list "Printing" (symbol-value var-sym)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1295 newname) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1296 (set var-sym newname))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1297 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1298 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1299 (defun pr-menu-set-ps-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1300 (pr-relabel-menu-item (format "PostScript Printer: %s" value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1301 'pr-ps-name-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1302 (pr-ps-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1303 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1304 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1305 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1306 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1307 (defun pr-menu-set-txt-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1308 (pr-relabel-menu-item (format "Text Printer: %s" value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1309 'pr-txt-name-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1310 (pr-txt-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1311 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1312 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1313 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1314 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1315 (defun pr-menu-set-utility-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1316 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1317 (let ((newname (format "%s" value))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1318 (relabel-menu-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1319 (list "Printing" "PostScript Print" "File" pr-ps-utility-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1320 newname) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1321 (relabel-menu-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1322 (list "Printing" "PostScript Preview" "File" pr-ps-utility-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1323 newname) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1324 (setq pr-ps-utility-old newname))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1325 (pr-ps-set-utility value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1326 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1327 (pr-menu-lock entry index 5 nil '("PostScript Print" "File")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1328 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1329 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1330 (defun pr-even-or-odd-pages (value &optional no-lock) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1331 (pr-relabel-menu-item (cdr (assq value pr-even-or-odd-alist)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1332 'pr-even-or-odd-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1333 (setq ps-even-or-odd-pages value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1334 (or no-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1335 (pr-menu-lock 'postscript-options 8 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1336 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1337 ) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1338 (t ; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1339 ;; Do nothing |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1340 )) ; end cond featurep |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1341 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1342 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1343 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1344 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1345 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1346 ;; GNU Emacs Definitions |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1347 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1348 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1349 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1350 ((featurep 'xemacs) ; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1351 ;; Do nothing |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1352 ) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1353 (t ; GNU Emacs |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1354 ;; GNU Emacs |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1355 (defalias 'pr-set-keymap-parents 'set-keymap-parent) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1356 (defalias 'pr-set-keymap-name 'ignore) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1357 (defalias 'pr-read-string 'read-string) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1358 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1359 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1360 (defvar deactivate-mark) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1361 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1362 ;; GNU Emacs |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1363 (defun pr-keep-region-active () |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1364 (setq deactivate-mark nil)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1365 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1366 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1367 (defun pr-region-active-p () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1368 (and pr-auto-region transient-mark-mode mark-active)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1369 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1370 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1371 (defun pr-menu-char-height () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1372 (frame-char-height)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1373 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1374 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1375 (defun pr-menu-char-width () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1376 (frame-char-width)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1377 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1378 (defvar pr-menu-bar nil |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1379 "Specify Printing menu-bar entry.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1380 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1381 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1382 ;; Menu binding |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1383 ;; Replace existing "print" item by "Printing" item. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1384 ;; If you're changing this file, you'll load it a second, |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1385 ;; third... time, but "print" item exists only in the first load. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1386 (eval-when-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1387 (require 'easymenu)) ; to avoid compilation gripes |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1388 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1389 (eval-and-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1390 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1391 ;; GNU Emacs 20 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1392 ((< emacs-major-version 21) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1393 (defun pr-global-menubar (pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1394 (require 'easymenu) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1395 (easy-menu-change '("tools") "Printing" pr-menu-spec pr-menu-print-item) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1396 (when pr-menu-print-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1397 (easy-menu-remove-item nil '("tools") pr-menu-print-item) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1398 (setq pr-menu-print-item nil |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1399 pr-menu-bar (vector 'menu-bar 'tools |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1400 (pr-get-symbol "Printing"))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1401 ) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1402 ;; GNU Emacs 21 & 22 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1403 (t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1404 (defun pr-global-menubar (pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1405 (require 'easymenu) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1406 (let ((menu-file (if (= emacs-major-version 21) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1407 '("menu-bar" "files") ; GNU Emacs 21 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1408 '("menu-bar" "file")))) ; GNU Emacs 22 or higher |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1409 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1410 (pr-menu-print-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1411 (easy-menu-add-item global-map menu-file |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1412 (easy-menu-create-menu "Print" pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1413 "print-buffer") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1414 (dolist (item '("print-buffer" "print-region" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1415 "ps-print-buffer-faces" "ps-print-region-faces" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1416 "ps-print-buffer" "ps-print-region")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1417 (easy-menu-remove-item global-map menu-file item)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1418 (setq pr-menu-print-item nil |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1419 pr-menu-bar (vector 'menu-bar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1420 (pr-get-symbol (nth 1 menu-file)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1421 (pr-get-symbol "Print")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1422 (t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1423 (easy-menu-add-item global-map menu-file |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1424 (easy-menu-create-menu "Print" pr-menu-spec))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1425 ))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1426 ))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1427 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1428 (eval-and-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1429 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1430 (ps-windows-system |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1431 ;; GNU Emacs for Windows 9x/NT |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1432 (defun pr-menu-position (entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1433 (let ((pos (cdr (mouse-pixel-position)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1434 (list |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1435 (list (or (car pos) 0) ; X |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1436 (- (or (cdr pos) 0) ; Y |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1437 (* (pr-menu-index entry index) pr-menu-char-height))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1438 (selected-frame)))) ; frame |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1439 ) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1440 (t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1441 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1442 (defun pr-menu-position (entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1443 (let ((pos (cdr (mouse-pixel-position)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1444 (list |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1445 (list (- (or (car pos) 0) ; X |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1446 (* horizontal pr-menu-char-width)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1447 (- (or (cdr pos) 0) ; Y |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1448 (* (pr-menu-index entry index) pr-menu-char-height))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1449 (selected-frame)))) ; frame |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1450 ))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1451 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1452 (defvar pr-menu-position nil) |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1453 (defvar pr-menu-state nil) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1454 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1455 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1456 (defun pr-menu-lookup (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1457 (lookup-key global-map |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1458 (if path |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1459 (vconcat pr-menu-bar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1460 (mapcar 'pr-get-symbol |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1461 (if (listp path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1462 path |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1463 (list path)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1464 pr-menu-bar))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1465 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1466 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1467 (defun pr-menu-lock (entry index horizontal state path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1468 (when pr-menu-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1469 (or (and pr-menu-position (eq state pr-menu-state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1470 (setq pr-menu-position (pr-menu-position entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1471 pr-menu-state state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1472 (let* ((menu (pr-menu-lookup path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1473 (result (x-popup-menu pr-menu-position menu))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1474 (and result |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1475 (let ((command (lookup-key menu (vconcat result)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1476 (if (fboundp command) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1477 (funcall command) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1478 (eval command))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1479 (setq pr-menu-position nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1480 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1481 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1482 (defalias 'pr-update-mode-line 'force-mode-line-update) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1483 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1484 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1485 (defun pr-do-update-menus (&optional force) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1486 (pr-menu-alist pr-ps-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1487 'pr-ps-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1488 'pr-menu-set-ps-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1489 "PostScript Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1490 'pr-ps-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1491 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1492 "PostScript Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1493 'postscript 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1494 (pr-menu-alist pr-txt-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1495 'pr-txt-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1496 'pr-menu-set-txt-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1497 "Text Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1498 'pr-txt-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1499 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1500 "Text Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1501 'text 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1502 (let ((save-var pr-ps-utility-menu-modified)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1503 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1504 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1505 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1506 '("PostScript Print" "File" "PostScript Utility") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1507 'save-var |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1508 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1509 "PostScript Utility" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1510 nil 1)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1511 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1512 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1513 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1514 '("PostScript Preview" "File" "PostScript Utility") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1515 'pr-ps-utility-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1516 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1517 "PostScript Utility" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1518 nil 1) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1519 (pr-even-or-odd-pages ps-even-or-odd-pages force)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1520 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1521 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1522 (defun pr-menu-get-item (name-list) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1523 ;; NAME-LIST is a string or a list of strings. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1524 (or (listp name-list) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1525 (setq name-list (list name-list))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1526 (and name-list |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1527 (let* ((reversed (reverse name-list)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1528 (name (pr-get-symbol (car reversed))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1529 (path (nreverse (cdr reversed))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1530 (menu (lookup-key |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1531 global-map |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1532 (vconcat pr-menu-bar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1533 (mapcar 'pr-get-symbol path))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1534 (assq name (nthcdr 2 menu))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1535 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1536 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1537 (defvar pr-temp-menu nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1538 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1539 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1540 (defun pr-menu-alist (alist var-sym fun menu-path modified-sym force name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1541 entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1542 (when (and alist (or force (symbol-value modified-sym))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1543 (easy-menu-define pr-temp-menu nil "" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1544 (pr-menu-create name alist var-sym fun entry index)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1545 (let ((item (pr-menu-get-item menu-path))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1546 (and item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1547 (let* ((binding (nthcdr 3 item)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1548 (key-binding (cdr binding))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1549 (setcar binding pr-temp-menu) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1550 (and key-binding (listp (car key-binding)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1551 (setcdr binding (cdr key-binding))) ; skip KEY-BINDING |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1552 (funcall fun (symbol-value var-sym) item)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1553 (set modified-sym nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1554 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1555 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1556 (defun pr-menu-set-item-name (item name) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1557 (and item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1558 (setcar (nthcdr 2 item) name))) ; ITEM-NAME |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1559 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1560 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1561 (defun pr-menu-set-ps-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1562 (pr-menu-set-item-name (or item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1563 (pr-menu-get-item "PostScript Printers")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1564 (format "PostScript Printer: %s" value)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1565 (pr-ps-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1566 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1567 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1568 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1569 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1570 (defun pr-menu-set-txt-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1571 (pr-menu-set-item-name (or item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1572 (pr-menu-get-item "Text Printers")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1573 (format "Text Printer: %s" value)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1574 (pr-txt-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1575 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1576 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1577 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1578 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1579 (defun pr-menu-set-utility-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1580 (let ((name (symbol-name value))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1581 (if item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1582 (pr-menu-set-item-name item name) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1583 (pr-menu-set-item-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1584 (pr-menu-get-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1585 '("PostScript Print" "File" "PostScript Utility")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1586 name) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1587 (pr-menu-set-item-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1588 (pr-menu-get-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1589 '("PostScript Preview" "File" "PostScript Utility")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1590 name))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1591 (pr-ps-set-utility value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1592 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1593 (pr-menu-lock entry index 5 nil '("PostScript Print" "File")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1594 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1595 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1596 (defun pr-even-or-odd-pages (value &optional no-lock) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1597 (pr-menu-set-item-name (pr-menu-get-item "Print All Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1598 (cdr (assq value pr-even-or-odd-alist))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1599 (setq ps-even-or-odd-pages value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1600 (or no-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1601 (pr-menu-lock 'postscript-options 8 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1602 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1603 )) ; end cond featurep |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1604 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1605 |
49646 | 1606 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1607 ;; Internal Functions (I) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1608 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1609 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1610 (defun pr-dosify-file-name (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1611 "Replace unix-style directory separator character with dos/windows one." |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1612 (interactive "sPath: ") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1613 (if (eq pr-path-style 'windows) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1614 (subst-char-in-string ?/ ?\\ path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1615 path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1616 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1617 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1618 (defun pr-unixify-file-name (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1619 "Replace dos/windows-style directory separator character with unix one." |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1620 (interactive "sPath: ") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1621 (if (eq pr-path-style 'windows) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1622 (subst-char-in-string ?\\ ?/ path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1623 path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1624 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1625 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1626 (defun pr-standard-file-name (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1627 "Ensure the proper directory separator depending on the OS. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1628 That is, if Emacs is running on DOS/Windows, ensure dos/windows-style directory |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1629 separator; otherwise, ensure unix-style directory separator." |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1630 (if (or pr-cygwin-system ps-windows-system) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1631 (subst-char-in-string ?/ ?\\ path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1632 (subst-char-in-string ?\\ ?/ path))) |
49646 | 1633 |
1634 | |
1635 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1636 ;; Customization Functions | |
1637 | |
1638 | |
1639 (defun pr-alist-custom-set (symbol value) | |
1640 "Set the value of custom variables for printer & utility selection." | |
1641 (set symbol value) | |
1642 (and (featurep 'printing) ; update only after printing is loaded | |
1643 (pr-update-menus t))) | |
1644 | |
1645 | |
1646 (defun pr-ps-utility-custom-set (symbol value) | |
1647 "Update utility menu entry." | |
1648 (set symbol value) | |
1649 (and (featurep 'printing) ; update only after printing is loaded | |
1650 (pr-menu-set-utility-title value))) | |
1651 | |
1652 | |
1653 (defun pr-ps-name-custom-set (symbol value) | |
1654 "Update `PostScript Printer:' menu entry." | |
1655 (set symbol value) | |
1656 (and (featurep 'printing) ; update only after printing is loaded | |
1657 (pr-menu-set-ps-title value))) | |
1658 | |
1659 | |
1660 (defun pr-txt-name-custom-set (symbol value) | |
1661 "Update `Text Printer:' menu entry." | |
1662 (set symbol value) | |
1663 (and (featurep 'printing) ; update only after printing is loaded | |
1664 (pr-menu-set-txt-title value))) | |
1665 | |
1666 | |
1667 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1668 ;; User Interface |
49646 | 1669 |
1670 | |
1671 (defgroup printing nil | |
64018
2d2ec1140b68
(printing): Finish `defgroup' description with period.
Juanma Barranquero <lekktu@gmail.com>
parents:
63328
diff
changeset
|
1672 "Printing Utilities group." |
49646 | 1673 :tag "Printing Utilities" |
1674 :link '(emacs-library-link :tag "Source Lisp File" "printing.el") | |
1675 :prefix "pr-" | |
79306
18f8d176549a
(printing): Fix :version, printing.el was included
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78492
diff
changeset
|
1676 :version "22.1" |
49646 | 1677 :group 'wp |
1678 :group 'postscript) | |
1679 | |
1680 | |
1681 (defcustom pr-path-style | |
1682 (if (and (not pr-cygwin-system) | |
1683 ps-windows-system) | |
1684 'windows | |
1685 'unix) | |
100171 | 1686 "Specify which path style to use for external commands. |
49646 | 1687 |
1688 Valid values are: | |
1689 | |
1690 windows Windows 9x/NT style (\\) | |
1691 | |
1692 unix Unix style (/)" | |
1693 :type '(choice :tag "Path style" | |
1694 (const :tag "Windows 9x/NT Style (\\)" :value windows) | |
1695 (const :tag "Unix Style (/)" :value unix)) | |
1696 :group 'printing) | |
1697 | |
1698 | |
1699 (defcustom pr-path-alist | |
1700 '((unix PATH) | |
1701 (cygwin PATH) | |
1702 (windows PATH)) | |
100171 | 1703 "Specify an alist for command paths. |
49646 | 1704 |
1705 It's used to find commands used for printing package, like gv, gs, gsview.exe, | |
1706 mpage, print.exe, etc. See also `pr-command' function. | |
1707 | |
1708 Each element has the form: | |
1709 | |
1710 (ENTRY DIRECTORY...) | |
1711 | |
1712 Where: | |
1713 | |
1714 ENTRY It's a symbol, used to identify this entry. | |
1715 There must exist at least one of the following entries: | |
1716 | |
1717 unix this entry is used when Emacs is running on GNU or | |
1718 Unix system. | |
1719 | |
1720 cygwin this entry is used when Emacs is running on Windows | |
1721 95/98/NT/2000 with Cygwin. | |
1722 | |
1723 windows this entry is used when Emacs is running on Windows | |
1724 95/98/NT/2000. | |
1725 | |
1726 DIRECTORY It should be a string or a symbol. If it's a symbol, it should | |
1727 exist an equal entry in `pr-path-alist'. If it's a string, | |
1728 it's considered a directory specification. | |
1729 | |
1730 The directory specification may contain: | |
1731 $var environment variable expansion | |
1732 ~/ tilde expansion | |
1733 ./ current directory | |
1734 ../ previous directory | |
1735 | |
1736 For example, let's say the home directory is /home/my and the | |
1737 current directory is /home/my/dir, so: | |
1738 | |
1739 THE ENTRY IS EXPANDED TO | |
1740 ~/entry /home/my/entry | |
1741 ./entry /home/my/dir/entry | |
1742 ../entry /home/my/entry | |
1743 $HOME/entry /home/my/entry | |
1744 $HOME/~/other/../my/entry /home/my/entry | |
1745 | |
1746 SPECIAL SYMBOL: If the symbol `PATH' is used in the directory | |
1747 list and there isn't a `PATH' entry in `pr-path-alist' or the | |
1748 `PATH' entry has a null directory list, the PATH environment | |
1749 variable is used. | |
1750 | |
1751 Examples: | |
1752 | |
1753 * On GNU or Unix system: | |
1754 | |
1755 '((unix \".\" \"~/bin\" ghostview mpage PATH) | |
1756 (ghostview \"$HOME/bin/gsview-dir\") | |
1757 (mpage \"$HOME/bin/mpage-dir\") | |
1758 ) | |
1759 | |
1760 * On Windows system: | |
1761 | |
1762 '((windows \"c:/applications/executables\" PATH ghostview mpage) | |
1763 (ghostview \"c:/gs/gsview-dir\") | |
1764 (mpage \"c:/mpage-dir\") | |
1765 )" | |
1766 :type '(repeat | |
1767 (cons :tag "" | |
1768 (symbol :tag "Identifier ") | |
1769 (repeat :tag "Directory List" | |
1770 (choice :menu-tag "Directory" | |
1771 :tag "Directory" | |
1772 (string :value "") | |
1773 (symbol :value symbol))))) | |
1774 :group 'printing) | |
1775 | |
1776 | |
1777 (defcustom pr-txt-name 'default | |
100171 | 1778 "Specify a printer for printing a text file. |
49646 | 1779 |
1780 The printer name symbol should be defined on `pr-txt-printer-alist' (see it for | |
1781 documentation). | |
1782 | |
1783 This variable should be modified by customization engine. If this variable is | |
1784 modified by other means (for example, a lisp function), use `pr-update-menus' | |
1785 function (see it for documentation) to update text printer menu." | |
1786 :type 'symbol | |
1787 :set 'pr-txt-name-custom-set | |
1788 :group 'printing) | |
1789 | |
1790 | |
1791 (defcustom pr-txt-printer-alist | |
1792 (list (list 'default lpr-command nil | |
1793 (cond ((boundp 'printer-name) printer-name) | |
1794 (ps-windows-system "PRN") | |
1795 (t nil) | |
1796 ))) | |
1797 ;; Examples: | |
1798 ;; * On GNU or Unix system: | |
1799 ;; '((prt_06a "lpr" nil "prt_06a") | |
1800 ;; (prt_07c nil nil "prt_07c") | |
1801 ;; ) | |
1802 ;; * On Windows system: | |
1803 ;; '((prt_06a "print" nil "/D:\\\\printers\\prt_06a") | |
1804 ;; (prt_07c nil nil "/D:\\\\printers\\prt_07c") | |
1805 ;; (PRN "" nil "PRN") | |
1806 ;; (standard "redpr.exe" nil "") | |
1807 ;; ) | |
100171 | 1808 "Specify an alist of all text printers (text printer database). |
49646 | 1809 |
1810 The alist element has the form: | |
1811 | |
1812 (SYMBOL COMMAND SWITCHES NAME) | |
1813 | |
1814 Where: | |
1815 | |
1816 SYMBOL It's a symbol to identify a text printer. It's for | |
1817 `pr-txt-name' variable setting and for menu selection. | |
1818 Examples: | |
1819 'prt_06a | |
1820 'my_printer | |
1821 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1822 COMMAND Name of the program for printing a text file. On MS-DOS and |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1823 MS-Windows systems, if the value is an empty string, then Emacs |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1824 will write directly to the printer port given by NAME (see text |
49646 | 1825 below), that is, the NAME should be something like \"PRN\" or |
1826 \"LPT1:\". | |
1827 If NAME is something like \"\\\\\\\\host\\\\share-name\" then | |
1828 COMMAND shouldn't be an empty string. | |
1829 The programs `print' and `nprint' (the standard print programs | |
1830 on Windows NT and Novell Netware respectively) are handled | |
1831 specially, using NAME as the destination for output; any other | |
1832 program is treated like `lpr' except that an explicit filename | |
1833 is given as the last argument. | |
1834 If COMMAND is nil, it's used the default printing program: | |
1835 `print' for Windows system, `lp' for lp system and `lpr' for | |
1836 all other systems. See also `pr-path-alist'. | |
1837 Examples: | |
1838 \"print\" | |
1839 \"lpr\" | |
1840 \"lp\" | |
1841 | |
1842 SWITCHES List of sexp's to pass as extra options for text printer | |
1843 program. It is recommended to set NAME (see text below) | |
1844 instead of including an explicit switch on this list. | |
1845 Example: | |
1846 . for lpr | |
1847 '(\"-#3\" \"-l\") | |
1848 nil | |
1849 | |
1850 NAME A string that specifies a text printer name. | |
1851 On Unix-like systems, a string value should be a name | |
1852 understood by lpr's -P option (or lp's -d option). | |
1853 On MS-DOS and MS-Windows systems, it is the name of a printer | |
1854 device or port. Typical non-default settings would be \"LPT1:\" | |
1855 to \"LPT3:\" for parallel printers, or \"COM1\" to \"COM4\" or | |
1856 \"AUX\" for serial printers, or \"\\\\\\\\hostname\\\\printer\" | |
1857 (or \"/D:\\\\\\\\hostname\\\\printer\") for a shared network | |
1858 printer. You can also set it to a name of a file, in which | |
1859 case the output gets appended to that file. If you want to | |
1860 discard the printed output, set this to \"NUL\". | |
1861 Examples: | |
1862 . for print.exe | |
1863 \"/D:\\\\\\\\host\\\\share-name\" | |
1864 \"LPT1:\" | |
1865 \"PRN\" | |
1866 | |
1867 . for lpr or lp | |
1868 \"share-name\" | |
1869 | |
1870 This variable should be modified by customization engine. If this variable is | |
1871 modified by other means (for example, a lisp function), use `pr-update-menus' | |
1872 function (see it for documentation) to update text printer menu. | |
1873 | |
1874 Examples: | |
1875 | |
1876 * On GNU or Unix system: | |
1877 | |
1878 '((prt_06a \"lpr\" nil \"prt_06a\") | |
1879 (prt_07c nil nil \"prt_07c\") | |
1880 ) | |
1881 | |
1882 * On Windows system: | |
1883 | |
1884 '((prt_06a \"print\" nil \"/D:\\\\\\\\printers\\\\prt_06a\") | |
1885 (prt_07c nil nil \"/D:\\\\\\\\printers\\\\prt_07c\") | |
1886 (PRN \"\" nil \"PRN\") | |
1887 (standard \"redpr.exe\" nil \"\") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1888 ) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1889 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1890 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1891 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1892 * Information about the print command (print.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1893 `http://www.computerhope.com/printhlp.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1894 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1895 * RedMon - Redirection Port Monitor (redpr.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1896 `http://www.cs.wisc.edu/~ghost/redmon/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1897 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1898 * Redirection Port Monitor (redpr.exe on-line help) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1899 `http://www.cs.wisc.edu/~ghost/redmon/en/redmon.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1900 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1901 * UNIX man pages: lpr (or type `man lpr') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1902 `http://bama.ua.edu/cgi-bin/man-cgi?lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1903 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1904 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1905 * UNIX man pages: lp (or type `man lp') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1906 `http://bama.ua.edu/cgi-bin/man-cgi?lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1907 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1908 " |
49646 | 1909 :type '(repeat |
1910 (list :tag "Text Printer" | |
1911 (symbol :tag "Printer Symbol Name") | |
1912 (string :tag "Printer Command") | |
1913 (repeat :tag "Printer Switches" | |
1914 (sexp :tag "Switch" :value "")) | |
1915 (choice :menu-tag "Printer Name" | |
1916 :tag "Printer Name" | |
1917 (const :tag "None" nil) | |
1918 string))) | |
1919 :set 'pr-alist-custom-set | |
1920 :group 'printing) | |
1921 | |
1922 | |
1923 (defcustom pr-ps-name 'default | |
100171 | 1924 "Specify a printer for printing a PostScript file. |
49646 | 1925 |
1926 This printer name symbol should be defined on `pr-ps-printer-alist' (see it for | |
1927 documentation). | |
1928 | |
1929 This variable should be modified by customization engine. If this variable is | |
1930 modified by other means (for example, a lisp function), use `pr-update-menus' | |
1931 function (see it for documentation) to update PostScript printer menu." | |
1932 :type 'symbol | |
1933 :set 'pr-ps-name-custom-set | |
1934 :group 'printing) | |
1935 | |
1936 | |
1937 (defcustom pr-ps-printer-alist | |
1938 (list (list 'default lpr-command nil | |
1939 (cond (ps-windows-system nil) | |
1940 (ps-lp-system "-d") | |
1941 (t "-P")) | |
1942 (or (getenv "PRINTER") (getenv "LPDEST") ps-printer-name))) | |
1943 ;; Examples: | |
1944 ;; * On GNU or Unix system: | |
1945 ;; '((lps_06b "lpr" nil "-P" "lps_06b") | |
1946 ;; (lps_07c "lpr" nil nil "lps_07c") | |
1947 ;; (lps_08c nil nil nil "lps_08c") | |
1948 ;; ) | |
1949 ;; * On Windows system: | |
1950 ;; '((lps_06a "print" nil "/D:" "\\\\printers\\lps_06a") | |
1951 ;; (lps_06b "print" nil nil "\\\\printers\\lps_06b") | |
1952 ;; (lps_07c "print" nil "" "/D:\\\\printers\\lps_07c") | |
1953 ;; (lps_08c nil nil nil "\\\\printers\\lps_08c") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1954 ;; (b/w "gsprint" ("-all" "-twoup") "-printer " "b/w-pr-name") |
49646 | 1955 ;; (LPT1 "" nil "" "LPT1:") |
1956 ;; (PRN "" nil "" "PRN") | |
1957 ;; (standard "redpr.exe" nil "" "") | |
1958 ;; ) | |
100171 | 1959 "Specify an alist for all PostScript printers (PostScript printer database). |
49646 | 1960 |
1961 The alist element has the form: | |
1962 | |
1963 (SYMBOL COMMAND SWITCHES PRINTER-SWITCH NAME DEFAULT...) | |
1964 | |
1965 Where: | |
1966 | |
1967 SYMBOL It's a symbol to identify a PostScript printer. It's for | |
1968 `pr-ps-name' variable setting and for menu selection. | |
1969 Examples: | |
1970 'prt_06a | |
1971 'my_printer | |
1972 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1973 COMMAND Name of the program for printing a PostScript file. On MS-DOS |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1974 and MS-Windows systems, if the value is an empty string then |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1975 Emacs will write directly to the printer port given by NAME |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1976 (see text below), that is, the NAME should be something like |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1977 \"PRN\" or \"LPT1:\". |
49646 | 1978 If NAME is something like \"\\\\\\\\host\\\\share-name\" then |
1979 COMMAND shouldn't be an empty string. | |
1980 The programs `print' and `nprint' (the standard print programs | |
1981 on Windows NT and Novell Netware respectively) are handled | |
1982 specially, using NAME as the destination for output; any other | |
1983 program is treated like `lpr' except that an explicit filename | |
1984 is given as the last argument. | |
1985 If COMMAND is nil, it's used the default printing program: | |
1986 `print' for Windows system, `lp' for lp system and `lpr' for | |
1987 all other systems. See also `pr-path-alist'. | |
1988 Examples: | |
1989 \"print\" | |
1990 \"lpr\" | |
1991 \"lp\" | |
1992 \"cp\" | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1993 \"gsprint\" |
49646 | 1994 |
1995 SWITCHES List of sexp's to pass as extra options for PostScript printer | |
1996 program. It is recommended to set NAME (see text below) | |
1997 instead of including an explicit switch on this list. | |
1998 Example: | |
1999 . for lpr | |
2000 '(\"-#3\" \"-l\") | |
2001 nil | |
2002 | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2003 . for gsprint.exe |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2004 '(\"-all\" \"-twoup\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2005 |
49646 | 2006 PRINTER-SWITCH A string that specifies PostScript printer name switch. If |
2007 it's necessary to have a space between PRINTER-SWITCH and NAME, | |
2008 it should be inserted at the end of PRINTER-SWITCH string. | |
2009 If PRINTER-SWITCH is nil, it's used the default printer name | |
2010 switch: `/D:' for Windows system, `-d' for lp system and `-P' | |
2011 for all other systems. | |
2012 Examples: | |
2013 . for lpr | |
2014 \"-P \" | |
2015 | |
2016 . for lp | |
2017 \"-d \" | |
2018 | |
2019 . for print.exe | |
2020 \"/D:\" | |
2021 | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2022 . for gsprint.exe |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2023 \"-printer \" |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2024 |
49646 | 2025 NAME A string that specifies a PostScript printer name. |
2026 On Unix-like systems, a string value should be a name | |
2027 understood by lpr's -P option (or lp's -d option). | |
2028 On MS-DOS and MS-Windows systems, it is the name of a printer | |
2029 device or port. Typical non-default settings would be \"LPT1:\" | |
2030 to \"LPT3:\" for parallel printers, or \"COM1\" to \"COM4\" or | |
2031 \"AUX\" for serial printers, or \"\\\\\\\\hostname\\\\printer\" | |
2032 (or \"/D:\\\\\\\\hostname\\\\printer\") for a shared network | |
2033 printer. You can also set it to a name of a file, in which | |
2034 case the output gets appended to that file. If you want to | |
2035 discard the printed output, set this to \"NUL\". | |
2036 Examples: | |
2037 . for cp.exe | |
2038 \"\\\\\\\\host\\\\share-name\" | |
2039 | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2040 . for print.exe or gsprint.exe |
49646 | 2041 \"/D:\\\\\\\\host\\\\share-name\" |
2042 \"\\\\\\\\host\\\\share-name\" | |
2043 \"LPT1:\" | |
2044 \"PRN\" | |
2045 | |
2046 . for lpr or lp | |
2047 \"share-name\" | |
2048 | |
2049 DEFAULT It's a way to set default values when this entry is selected. | |
2050 It's a cons like: | |
2051 | |
2052 (VARIABLE . VALUE) | |
2053 | |
80951 | 2054 Which associates VARIABLE with VALUE. When this entry is |
49646 | 2055 selected, it's executed the following command: |
2056 | |
2057 (set VARIABLE (eval VALUE)) | |
2058 | |
2059 Note that VALUE can be any valid lisp expression. So, don't | |
2060 forget to quote symbols and constant lists. | |
2061 If VARIABLE is the special keyword `inherits-from:', VALUE must | |
2062 be a symbol name setting defined in `pr-setting-database' from | |
2063 which the current setting inherits the context. Take care with | |
2064 circular inheritance. | |
2065 Examples: | |
2066 '(ps-landscape-mode . nil) | |
2067 '(ps-spool-duplex . t) | |
2068 '(pr-gs-device . (my-gs-device t)) | |
2069 | |
2070 This variable should be modified by customization engine. If this variable is | |
2071 modified by other means (for example, a lisp function), use `pr-update-menus' | |
2072 function (see it for documentation) to update PostScript printer menu. | |
2073 | |
2074 Examples: | |
2075 | |
2076 * On GNU or Unix system: | |
2077 | |
2078 '((lps_06b \"lpr\" nil \"-P\" \"lps_06b\") | |
2079 (lps_07c \"lpr\" nil nil \"lps_07c\") | |
2080 (lps_08c nil nil nil \"lps_08c\") | |
2081 ) | |
2082 | |
2083 * On Windows system: | |
2084 | |
2085 '((lps_06a \"print\" nil \"/D:\" \"\\\\\\\\printers\\\\lps_06a\") | |
2086 (lps_06b \"print\" nil nil \"\\\\\\\\printers\\\\lps_06b\") | |
2087 (lps_07c \"print\" nil \"\" \"/D:\\\\\\\\printers\\\\lps_07c\") | |
2088 (lps_08c nil nil nil \"\\\\\\\\printers\\\\lps_08c\") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2089 (b/w1 \"gsprint\" (\"-all\" \"-twoup\") \"-printer \" \"b/w-pr-name\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2090 (b/w2 \"gsprint\" (\"-all\" \"-twoup\") nil \"-printer \\\\\\\\printers\\\\lps_06a\") |
49646 | 2091 (LPT1 \"\" nil \"\" \"LPT1:\") |
2092 (PRN \"\" nil \"\" \"PRN\") | |
2093 (standard \"redpr.exe\" nil \"\" \"\") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2094 ) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2095 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2096 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2097 gsprint: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2098 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2099 You can use gsprint instead of ghostscript to print monochrome PostScript files |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2100 in Windows. The gsprint utility documentation says that it is more efficient |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2101 than ghostscript to print monochrome PostScript. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2102 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2103 To print non-monochrome PostScript file, the efficiency of ghostscript is |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2104 similar to gsprint. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2105 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2106 Also the gsprint utility comes together with gsview distribution. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2107 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2108 As an example of gsprint declaration: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2109 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2110 (setq pr-ps-printer-alist |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2111 '((A \"gsprint\" (\"-all\" \"-twoup\") \"-printer \" \"lps_015\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2112 (B \"gsprint\" (\"-all\" \"-twoup\") nil \"-printer lps_015\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2113 ;; some other printer declaration |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2114 )) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2115 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2116 The example above declares that printer A prints all pages (-all) and two pages |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2117 per sheet (-twoup). The printer B declaration does the same as the printer A |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2118 declaration, the only difference is the printer name selection. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2119 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2120 There are other command line options like: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2121 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2122 -mono Render in monochrome as 1bit/pixel (only black and white). |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2123 -grey Render in greyscale as 8bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2124 -color Render in color as 24bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2125 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2126 The default is `-mono'. So, printer A and B in the example above are using |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2127 implicitly the `-mono' option. Note that in `-mono' no gray tone or color is |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2128 printed, this includes the zebra stripes, that is, in `-mono' the zebra stripes |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2129 are not printed. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2130 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2131 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2132 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2133 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2134 * GSPRINT - Ghostscript print to Windows printer |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2135 `http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2136 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2137 * Introduction to Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2138 `http://www.cs.wisc.edu/~ghost/doc/intro.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2139 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2140 * How to use Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2141 `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2142 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2143 * Information about the print command (print.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2144 `http://www.computerhope.com/printhlp.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2145 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2146 * RedMon - Redirection Port Monitor (redpr.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2147 `http://www.cs.wisc.edu/~ghost/redmon/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2148 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2149 * Redirection Port Monitor (redpr.exe on-line help) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2150 `http://www.cs.wisc.edu/~ghost/redmon/en/redmon.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2151 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2152 * UNIX man pages: lpr (or type `man lpr') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2153 `http://bama.ua.edu/cgi-bin/man-cgi?lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2154 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2155 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2156 * UNIX man pages: lp (or type `man lp') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2157 `http://bama.ua.edu/cgi-bin/man-cgi?lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2158 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2159 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2160 * GNU utilities for Win32 (cp.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2161 `http://unxutils.sourceforge.net/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2162 " |
49646 | 2163 :type '(repeat |
2164 (list | |
2165 :tag "PostScript Printer" | |
2166 (symbol :tag "Printer Symbol Name") | |
2167 (string :tag "Printer Command") | |
2168 (repeat :tag "Printer Switches" | |
2169 (sexp :tag "Switch" :value "")) | |
2170 (choice :menu-tag "Printer Name Switch" | |
2171 :tag "Printer Name Switch" | |
2172 (const :tag "None" nil) | |
2173 string) | |
2174 (choice :menu-tag "Printer Name" | |
2175 :tag "Printer Name" | |
2176 (const :tag "None" nil) | |
2177 string) | |
2178 (repeat | |
2179 :tag "Default Value List" | |
2180 :inline t | |
2181 (cons | |
2182 :tag "" | |
2183 (choice | |
2184 :menu-tag "Variable" | |
2185 :tag "Variable" | |
2186 (const :tag "Landscape" ps-landscape-mode) | |
2187 (const :tag "Print Header" ps-print-header) | |
2188 (const :tag "Print Header Frame" ps-print-header-frame) | |
2189 (const :tag "Line Number" ps-line-number) | |
2190 (const :tag "Zebra Stripes" ps-zebra-stripes) | |
2191 (const :tag "Duplex" ps-spool-duplex) | |
2192 (const :tag "Tumble" ps-spool-tumble) | |
2193 (const :tag "Upside-Down" ps-print-upside-down) | |
2194 (const :tag "PS File Landscape" pr-file-landscape) | |
2195 (const :tag "PS File Duplex" pr-file-duplex) | |
2196 (const :tag "PS File Tumble" pr-file-tumble) | |
2197 (const :tag "Auto Region" pr-auto-region) | |
2198 (const :tag "Auto Mode" pr-auto-mode) | |
2199 (const :tag "Ghostscript Device" pr-gs-device) | |
2200 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
2201 (const :tag "inherits-from:" inherits-from:) | |
2202 (variable :tag "Other")) | |
2203 (sexp :tag "Value"))) | |
2204 )) | |
2205 :set 'pr-alist-custom-set | |
2206 :group 'printing) | |
2207 | |
2208 | |
2209 (defcustom pr-temp-dir | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
2210 (pr-dosify-file-name |
49646 | 2211 (if (boundp 'temporary-file-directory) |
2212 (symbol-value 'temporary-file-directory) | |
2213 ;; hacked from `temporary-file-directory' variable in files.el | |
2214 (file-name-as-directory | |
2215 (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") | |
2216 (cond (ps-windows-system "c:/temp") | |
2217 (t "/tmp") | |
2218 ))))) | |
100171 | 2219 "Specify a directory for temporary files during printing. |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2220 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2221 See also `pr-ps-temp-file' and `pr-file-modes'." |
49646 | 2222 :type '(directory :tag "Temporary Directory") |
2223 :group 'printing) | |
2224 | |
2225 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
2226 (defcustom pr-ps-temp-file "prspool-" |
100171 | 2227 "Specify PostScript temporary file name prefix. |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2228 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2229 See also `pr-temp-dir' and `pr-file-modes'." |
49646 | 2230 :type '(file :tag "PostScript Temporary File Name") |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2231 :group 'printing) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2232 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2233 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2234 ;; It uses 0600 as default instead of (default-file-modes). |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2235 ;; So, by default, only the session owner have permission to deal with files |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2236 ;; generated by `printing'. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2237 (defcustom pr-file-modes ?\600 |
100171 | 2238 "Specify the file permission bits for newly created files. |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2239 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2240 It should be an integer; only the low 9 bits are used. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2241 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2242 See also `pr-temp-dir' and `pr-ps-temp-file'." |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2243 :type '(integer :tag "File Permission Bits") |
49646 | 2244 :group 'printing) |
2245 | |
2246 | |
2247 (defcustom pr-gv-command | |
2248 (if ps-windows-system | |
2249 "gsview32.exe" | |
2250 "gv") | |
100171 | 2251 "Specify path and name of the gsview/gv utility. |
49646 | 2252 |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2253 See also `pr-path-alist'. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2254 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2255 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2256 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2257 * GNU gv manual |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2258 `http://www.gnu.org/software/gv/manual/gv.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2259 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2260 * GSview Help |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2261 `http://www.cs.wisc.edu/~ghost/gsview/gsviewen.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2262 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2263 * GSview Help - Common Problems |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2264 `http://www.cs.wisc.edu/~ghost/gsview/gsviewen.htm#Common_Problems' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2265 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2266 * GSview Readme (compilation & installation) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2267 `http://www.cs.wisc.edu/~ghost/gsview/Readme.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2268 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2269 * GSview (main site) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2270 `http://www.cs.wisc.edu/~ghost/gsview/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2271 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2272 * Ghostscript, Ghostview and GSview |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2273 `http://www.cs.wisc.edu/~ghost/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2274 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2275 * Ghostview |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2276 `http://www.cs.wisc.edu/~ghost/gv/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2277 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2278 * gv 3.5, June 1997 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2279 `http://www.cs.wisc.edu/~ghost/gv/gv_doc/gv.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2280 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2281 * MacGSView (MacOS) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2282 `http://www.cs.wisc.edu/~ghost/macos/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2283 " |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2284 :type '(string :tag "Ghostview Utility") |
49646 | 2285 :group 'printing) |
2286 | |
2287 | |
2288 (defcustom pr-gs-command | |
2289 (if ps-windows-system | |
2290 "gswin32.exe" | |
2291 "gs") | |
100171 | 2292 "Specify path and name of the ghostscript utility. |
49646 | 2293 |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2294 See also `pr-path-alist'. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2295 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2296 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2297 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2298 * Ghostscript, Ghostview and GSview |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2299 `http://www.cs.wisc.edu/~ghost/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2300 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2301 * Introduction to Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2302 `http://www.cs.wisc.edu/~ghost/doc/intro.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2303 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2304 * How to use Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2305 `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2306 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2307 * Printer compatibility |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2308 `http://www.cs.wisc.edu/~ghost/doc/printer.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2309 " |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2310 :type '(string :tag "Ghostscript Utility") |
49646 | 2311 :group 'printing) |
2312 | |
2313 | |
2314 (defcustom pr-gs-switches | |
2315 (if ps-windows-system | |
2316 '("-q -dNOPAUSE -Ic:/gs/gs5.50;c:/gs/gs5.50/fonts") | |
2317 '("-q -dNOPAUSE -I/usr/share/ghostscript/5.10")) | |
100171 | 2318 "Specify ghostscript switches. See the documentation on GS for more info. |
49646 | 2319 |
2320 It's a list of strings, where each string is one or more ghostscript switches. | |
2321 | |
2322 A note on the gs switches: | |
2323 | |
2324 -q quiet | |
2325 -dNOPAUSE don't wait for user intervention | |
2326 -Ic:/gs/gs5.50;c:/gs/gs5.50/fonts the directories needed for gs | |
2327 -c quit it's added at the end to terminate gs | |
2328 | |
2329 To see ghostscript documentation for more information: | |
2330 | |
2331 * On GNU or Unix system: | |
2332 - for full documentation, type: man gs | |
2333 - for brief documentation, type: gs -h | |
2334 | |
2335 * On Windows system: | |
2336 - for full documentation, see in a browser the file | |
2337 c:/gstools/gs5.50/index.html, that is, the file index.html which is | |
2338 located in the same directory as gswin32.exe. | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2339 - for brief documentation, type: gswin32.exe -h |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2340 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2341 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2342 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2343 * Introduction to Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2344 `http://www.cs.wisc.edu/~ghost/doc/intro.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2345 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2346 * How to use Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2347 `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2348 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2349 * Printer compatibility |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2350 `http://www.cs.wisc.edu/~ghost/doc/printer.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2351 " |
49646 | 2352 :type '(repeat (string :tag "Ghostscript Switch")) |
2353 :group 'printing) | |
2354 | |
2355 | |
2356 (defcustom pr-gs-device | |
2357 (if ps-windows-system | |
2358 "mswinpr2" | |
2359 "uniprint") | |
100171 | 2360 "Specify the ghostscript device switch value (-sDEVICE=). |
49646 | 2361 |
2362 A note on the gs switches: | |
2363 | |
2364 -sDEVICE=djet500 the printer - works with HP DeskJet 540 | |
2365 | |
2366 See `pr-gs-switches' for documentation. | |
2367 See also `pr-ps-printer-alist'." | |
2368 :type '(string :tag "Ghostscript Device") | |
2369 :group 'printing) | |
2370 | |
2371 | |
2372 (defcustom pr-gs-resolution 300 | |
100171 | 2373 "Specify ghostscript resolution switch value (-r). |
49646 | 2374 |
2375 A note on the gs switches: | |
2376 | |
2377 -r300 resolution 300x300 | |
2378 | |
2379 See `pr-gs-switches' for documentation. | |
2380 See also `pr-ps-printer-alist'." | |
2381 :type '(integer :tag "Ghostscript Resolution") | |
2382 :group 'printing) | |
2383 | |
2384 | |
2385 (defcustom pr-print-using-ghostscript nil | |
100171 | 2386 "Non-nil means print using ghostscript. |
49646 | 2387 |
2388 This is useful if you don't have a PostScript printer, so you could use the | |
2389 ghostscript to print a PostScript file. | |
2390 | |
2391 In GNU or Unix system, if ghostscript is set as a PostScript filter, this | |
2392 variable should be nil." | |
2393 :type 'boolean | |
2394 :group 'printing) | |
2395 | |
2396 | |
2397 (defcustom pr-faces-p nil | |
100171 | 2398 "Non-nil means print with face attributes." |
49646 | 2399 :type 'boolean |
2400 :group 'printing) | |
2401 | |
2402 | |
2403 (defcustom pr-spool-p nil | |
100171 | 2404 "Non-nil means spool printing in a buffer." |
49646 | 2405 :type 'boolean |
2406 :group 'printing) | |
2407 | |
2408 | |
2409 (defcustom pr-file-landscape nil | |
100171 | 2410 "Non-nil means print PostScript file in landscape orientation." |
49646 | 2411 :type 'boolean |
2412 :group 'printing) | |
2413 | |
2414 | |
2415 (defcustom pr-file-duplex nil | |
100171 | 2416 "Non-nil means print PostScript file in duplex mode." |
49646 | 2417 :type 'boolean |
2418 :group 'printing) | |
2419 | |
2420 | |
2421 (defcustom pr-file-tumble nil | |
100171 | 2422 "Non-nil means print PostScript file in tumble mode. |
49646 | 2423 |
2424 If tumble is off, produces a printing suitable for binding on the left or | |
2425 right. | |
2426 If tumble is on, produces a printing suitable for binding at the top or | |
2427 bottom." | |
2428 :type 'boolean | |
2429 :group 'printing) | |
2430 | |
2431 | |
2432 (defcustom pr-auto-region t | |
100171 | 2433 "Non-nil means region is automagically detected. |
49646 | 2434 |
2435 Note that this will only work if you're using transient mark mode. | |
2436 | |
2437 When this variable is non-nil, the `*-buffer*' commands will behave like | |
2438 `*-region*' commands, that is, `*-buffer*' commands will print only the region | |
2439 marked instead of all buffer." | |
2440 :type 'boolean | |
2441 :group 'printing) | |
2442 | |
2443 | |
2444 (defcustom pr-auto-mode t | |
100171 | 2445 "Non-nil means major-mode specific printing is prefered over normal printing. |
49646 | 2446 |
2447 That is, if current major-mode is declared in `pr-mode-alist', the `*-buffer*' | |
2448 and `*-region*' commands will behave like `*-mode*' commands; otherwise, | |
2449 `*-buffer*' commands will print the current buffer and `*-region*' commands | |
2450 will print the current region." | |
2451 :type 'boolean | |
2452 :group 'printing) | |
2453 | |
2454 | |
2455 (defcustom pr-mode-alist | |
2456 '((mh-folder-mode ; mh summary buffer | |
2457 pr-mh-lpr-1 pr-mh-print-1 | |
2458 2 | |
2459 (ps-article-author ps-article-subject) | |
2460 ("/pagenumberstring load" pr-article-date) | |
2461 nil | |
2462 ) | |
2463 (mh-letter-mode ; mh letter buffer | |
2464 pr-mh-lpr-2 pr-mh-print-2 | |
2465 2 | |
2466 (ps-article-author ps-article-subject) | |
2467 ("/pagenumberstring load" pr-article-date) | |
2468 nil | |
2469 ) | |
2470 (rmail-summary-mode ; rmail summary buffer | |
2471 pr-rmail-lpr pr-rmail-print | |
2472 3 | |
2473 (ps-article-subject ps-article-author buffer-name) | |
2474 nil | |
2475 nil | |
2476 ) | |
2477 (rmail-mode ; rmail buffer | |
2478 pr-rmail-lpr pr-rmail-print | |
2479 3 | |
2480 (ps-article-subject ps-article-author buffer-name) | |
2481 nil | |
2482 nil | |
2483 ) | |
2484 (gnus-summary-mode ; gnus summary buffer | |
2485 pr-gnus-lpr pr-gnus-print | |
2486 3 | |
2487 (ps-article-subject ps-article-author gnus-newsgroup-name) | |
2488 nil | |
2489 nil | |
2490 ) | |
2491 (gnus-article-mode ; gnus article buffer | |
2492 pr-gnus-lpr pr-gnus-print | |
2493 3 | |
2494 (ps-article-subject ps-article-author gnus-newsgroup-name) | |
2495 nil | |
2496 nil | |
2497 ) | |
2498 (Info-mode ; Info buffer | |
2499 pr-mode-lpr pr-mode-print | |
2500 2 | |
2501 (ps-info-node ps-info-file) | |
2502 nil | |
2503 nil | |
2504 ) | |
2505 (vm-mode ; vm mode | |
2506 pr-vm-lpr pr-vm-print | |
2507 3 | |
2508 (ps-article-subject ps-article-author buffer-name) | |
2509 nil | |
2510 nil | |
2511 ) | |
2512 ) | |
100171 | 2513 "Specify an alist for a major-mode and printing functions. |
49646 | 2514 |
2515 To customize a major mode printing, just declare the customization in | |
2516 `pr-mode-alist' and invoke some of `*-mode*' commands. An example for major | |
2517 mode usage is when you're using gnus (or mh, or rmail, etc.) and you're in the | |
2518 *Summary* buffer, if you forget to switch to the *Article* buffer before | |
2519 printing, you'll get a nicely formatted list of article subjects shows up at | |
2520 the printer. With major mode printing you don't need to switch from gnus | |
2521 *Summary* buffer first. | |
2522 | |
2523 The elements have the following form: | |
2524 | |
2525 (MAJOR-MODE | |
2526 LPR-PRINT PS-PRINT | |
2527 HEADER-LINES | |
2528 LEFT-HEADER | |
2529 RIGHT-HEADER | |
2530 KILL-LOCAL-VARIABLE | |
2531 DEFAULT...) | |
2532 | |
2533 Where: | |
2534 | |
2535 MAJOR-MODE It's the major mode symbol. | |
2536 | |
2537 LPR-PRINT It's a symbol function for text printing. It's invoked with | |
2538 one argument: | |
2539 (HEADER-LINES LEFT-HEADER RIGHT-HEADER DEFAULT...). | |
2540 | |
2541 Usually LPR-PRINT function prepares the environment or buffer | |
2542 and then call the function `pr-mode-lpr' which it's used to | |
2543 process the buffer and send it to text printer. | |
2544 | |
2545 The `pr-mode-lpr' definition is: | |
2546 | |
2547 (pr-mode-lpr HEADER-LIST &optional FROM TO) | |
2548 | |
2549 Where HEADER-LIST is like the argument passed to LPR-PRINT. | |
2550 FROM and TO are the beginning and end markers, respectively, | |
2551 for a region. If FROM is nil, it's used (point-min); if TO is | |
2552 nil, it's used (point-max). | |
2553 | |
2554 PS-PRINT It's a symbol function for PostScript printing. It's invoked | |
2555 with 3 arguments: n-up printing, file name and the list: | |
2556 (HEADER-LINES LEFT-HEADER RIGHT-HEADER DEFAULT...). | |
2557 | |
2558 Usually PS-PRINT function prepares the environment or buffer | |
2559 and then call the function `pr-mode-print' which it's used to | |
2560 process the buffer and send it to PostScript printer. | |
2561 | |
2562 The `pr-mode-print' definition is: | |
2563 | |
2564 (pr-mode-print N-UP FILENAME HEADER-LIST &optional FROM TO) | |
2565 | |
2566 Where N-UP, FILENAME and HEADER-LIST are like the arguments | |
2567 passed to PS-PRINT. FROM and TO are the beginning and end | |
2568 markers, respectively, for a region. If TO is nil, it's used | |
2569 (point-max). | |
2570 | |
2571 HEADER-LINES It's the number of header lines; if is nil, it uses | |
2572 `ps-header-lines' value. | |
2573 | |
2574 LEFT-HEADER It's the left header part, it's a list of string, variable | |
2575 symbol or function symbol (with no argument); if is nil, it | |
2576 uses `ps-left-header' value. | |
2577 | |
2578 RIGHT-HEADER It's the right header part, it's a list of string, variable | |
2579 symbol or function symbol (with no argument); if is nil, it | |
2580 uses `ps-right-header' value. | |
2581 | |
2582 KILL-LOCAL-VARIABLE | |
2583 Non-nil means to kill all buffer local variable declared in | |
2584 DEFAULT (see below). | |
2585 | |
2586 DEFAULT It's a way to set default values when this entry is selected. | |
2587 It's a cons like: | |
2588 | |
2589 (VARIABLE-SYM . VALUE) | |
2590 | |
80951 | 2591 Which associates VARIABLE-SYM with VALUE. When this entry is |
49646 | 2592 selected, it's executed the following command: |
2593 | |
2594 (set (make-local-variable VARIABLE-SYM) (eval VALUE)) | |
2595 | |
2596 Note that VALUE can be any valid lisp expression. So, don't | |
2597 forget to quote symbols and constant lists. | |
2598 If VARIABLE is the special keyword `inherits-from:', VALUE must | |
2599 be a symbol name setting defined in `pr-setting-database' from | |
2600 which the current setting inherits the context. Take care with | |
2601 circular inheritance. | |
2602 Examples: | |
2603 '(ps-landscape-mode . nil) | |
2604 '(ps-spool-duplex . t) | |
2605 '(pr-gs-device . (my-gs-device t))" | |
2606 :type '(repeat | |
2607 (list | |
2608 :tag "" | |
2609 (symbol :tag "Major Mode") | |
2610 (function :tag "Text Printing Function") | |
2611 (function :tag "PS Printing Function") | |
2612 (choice :menu-tag "Number of Header Lines" | |
2613 :tag "Number of Header Lines" | |
2614 (integer :tag "Number") | |
2615 (const :tag "Default Number" nil)) | |
2616 (repeat :tag "Left Header List" | |
2617 (choice :menu-tag "Left Header" | |
2618 :tag "Left Header" | |
2619 string symbol)) | |
2620 (repeat :tag "Right Header List" | |
2621 (choice :menu-tag "Right Header" | |
2622 :tag "Right Header" | |
2623 string symbol)) | |
2624 (boolean :tag "Kill Local Variable At End") | |
2625 (repeat | |
2626 :tag "Default Value List" | |
2627 :inline t | |
2628 (cons | |
2629 :tag "" | |
2630 (choice | |
2631 :menu-tag "Variable" | |
2632 :tag "Variable" | |
2633 (const :tag "Landscape" ps-landscape-mode) | |
2634 (const :tag "Print Header" ps-print-header) | |
2635 (const :tag "Print Header Frame" ps-print-header-frame) | |
2636 (const :tag "Line Number" ps-line-number) | |
2637 (const :tag "Zebra Stripes" ps-zebra-stripes) | |
2638 (const :tag "Duplex" ps-spool-duplex) | |
2639 (const :tag "Tumble" ps-spool-tumble) | |
2640 (const :tag "Upside-Down" ps-print-upside-down) | |
2641 (const :tag "PS File Landscape" pr-file-landscape) | |
2642 (const :tag "PS File Duplex" pr-file-duplex) | |
2643 (const :tag "PS File Tumble" pr-file-tumble) | |
2644 (const :tag "Auto Region" pr-auto-region) | |
2645 (const :tag "Auto Mode" pr-auto-mode) | |
2646 (const :tag "Ghostscript Device" pr-gs-device) | |
2647 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
2648 (const :tag "inherits-from:" inherits-from:) | |
2649 (variable :tag "Other")) | |
2650 (sexp :tag "Value"))) | |
2651 )) | |
2652 :group 'printing) | |
2653 | |
2654 | |
2655 (defcustom pr-ps-utility 'mpage | |
100171 | 2656 "Specify PostScript utility symbol. |
49646 | 2657 |
2658 This utility symbol should be defined on `pr-ps-utility-alist' (see it for | |
2659 documentation). | |
2660 | |
2661 This variable should be modified by customization engine. If this variable is | |
2662 modified by other means (for example, a lisp function), use `pr-update-menus' | |
2663 function (see it for documentation) to update PostScript utility menu. | |
2664 | |
2665 NOTE: Don't forget to download and install the utilities declared on | |
2666 `pr-ps-utility-alist'." | |
2667 :type '(symbol :tag "PS File Utility") | |
2668 :set 'pr-ps-utility-custom-set | |
2669 :group 'printing) | |
2670 | |
2671 | |
2672 (defcustom pr-ps-utility-alist | |
2673 '((mpage "mpage" nil "-b%s" "-%d" "-l" "-t" "-T" ">" nil) | |
2674 (psnup "psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
2675 (inherits-from: . no-duplex)) | |
2676 ) | |
2677 ;; Examples: | |
2678 ;; * On GNU or Unix system: | |
2679 ;; '((mpage "mpage" nil "-b%s" "-%d" "-l" "-t" "-T" ">" nil) | |
2680 ;; (psnup "psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
2681 ;; (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
2682 ;; ) | |
2683 ;; * On Windows system: | |
2684 ;; '((psnup "c:/psutils/psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
2685 ;; (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
2686 ;; ) | |
100171 | 2687 "Specify an alist for PostScript utility processing (PS utility database). |
49646 | 2688 |
2689 The alist element has the form: | |
2690 | |
2691 (SYMBOL UTILITY MUST-SWITCHES PAPERSIZE N-UP LANDSCAPE DUPLEX TUMBLE OUTPUT | |
2692 SWITCHES DEFAULT...) | |
2693 | |
2694 Where: | |
2695 | |
2696 SYMBOL It's a symbol to identify a PostScript utility. It's for | |
2697 `pr-ps-utility' variable setting and for menu selection. | |
2698 Examples: | |
2699 'mpage | |
2700 'psnup | |
2701 | |
2702 UTILITY Name of utility for processing a PostScript file. | |
2703 See also `pr-path-alist'. | |
2704 Examples: | |
2705 . for GNU or Unix system: | |
2706 \"mpage\" | |
2707 \"psnup -q\" | |
2708 | |
2709 . for Windows system: | |
2710 \"c:/psutils/psnup -q\" | |
2711 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2712 MUST-SWITCHES List of sexp's to pass as options to the PostScript utility |
49646 | 2713 program. These options are necessary to process the utility |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2714 program and must be placed before any other switches. |
49646 | 2715 Example: |
2716 . for psnup: | |
2717 '(\"-q\") | |
2718 | |
2719 PAPERSIZE It's a format string to specify paper size switch. | |
2720 Example: | |
2721 . for mpage | |
2722 \"-b%s\" | |
2723 | |
2724 N-UP It's a format string to specify n-up switch. | |
2725 Example: | |
2726 . for psnup | |
2727 \"-%d\" | |
2728 | |
2729 LANDSCAPE It's a string to specify landscape switch. If the utility | |
2730 doesn't have landscape switch, set to nil. | |
2731 Example: | |
2732 . for psnup | |
2733 \"-l\" | |
2734 | |
2735 DUPLEX It's a string to specify duplex switch. If the utility doesn't | |
2736 have duplex switch, set to nil. | |
2737 Example: | |
2738 . for psnup | |
2739 nil | |
2740 | |
2741 TUMBLE It's a string to specify tumble switch. If the utility doesn't | |
2742 have tumble switch, set to nil. | |
2743 Example: | |
2744 . for psnup | |
2745 nil | |
2746 | |
2747 OUTPUT It's a string to specify how to generate an output file. Some | |
2748 utilities accept an output file option, but some others need | |
2749 output redirection or some other way to specify an output file. | |
2750 Example: | |
2751 . for psnup | |
2752 \" \" ; psnup ... input output | |
2753 | |
2754 . for mpage | |
2755 \">\" ; mpage ... input > output | |
2756 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2757 SWITCHES List of sexp's to pass as extra options to the PostScript utility |
49646 | 2758 program. |
2759 Example: | |
2760 . for psnup | |
2761 '(\"-q\") | |
2762 nil | |
2763 | |
2764 DEFAULT It's a way to set default values when this entry is selected. | |
2765 It's a cons like: | |
2766 | |
2767 (VARIABLE . VALUE) | |
2768 | |
80951 | 2769 Which associates VARIABLE with VALUE. When this entry is |
49646 | 2770 selected, it's executed the following command: |
2771 | |
2772 (set VARIABLE (eval VALUE)) | |
2773 | |
2774 Note that VALUE can be any valid lisp expression. So, don't | |
2775 forget to quote symbols and constant lists. | |
2776 If VARIABLE is the special keyword `inherits-from:', VALUE must | |
2777 be a symbol name setting defined in `pr-setting-database' from | |
2778 which the current setting inherits the context. Take care with | |
2779 circular inheritance. | |
2780 Examples: | |
2781 '(pr-file-landscape . nil) | |
2782 '(pr-file-duplex . t) | |
2783 '(pr-gs-device . (my-gs-device t)) | |
2784 | |
2785 This variable should be modified by customization engine. If this variable is | |
2786 modified by other means (for example, a lisp function), use `pr-update-menus' | |
2787 function (see it for documentation) to update PostScript utility menu. | |
2788 | |
2789 NOTE: Don't forget to download and install the utilities declared on | |
2790 `pr-ps-utility-alist'. | |
2791 | |
2792 Examples: | |
2793 | |
2794 * On GNU or Unix system: | |
2795 | |
2796 '((mpage \"mpage\" nil \"-b%s\" \"-%d\" \"-l\" \"-t\" \"-T\" \">\" nil) | |
2797 (psnup \"psnup\" (\"-q\") \"-P%s\" \"-%d\" \"-l\" nil nil \" \" nil | |
2798 (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
2799 ) | |
2800 | |
2801 * On Windows system: | |
2802 | |
2803 '((psnup \"c:/psutils/psnup\" (\"-q\") \"-P%s\" \"-%d\" \"-l\" nil nil \" \" | |
2804 nil (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2805 ) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2806 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2807 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2808 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2809 * mpage download (GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2810 `http://www.mesa.nl/pub/mpage/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2811 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2812 * mpage documentation (GNU or Unix - or type `man mpage') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2813 `http://www.cs.umd.edu/faq/guides/manual_unix/node48.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2814 `http://www.rt.com/man/mpage.1.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2815 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2816 * psnup (Windows, GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2817 `http://www.knackered.org/angus/psutils/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2818 `http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/PsUtils/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2819 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2820 * psnup (PsUtils for Windows) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2821 `http://gnuwin32.sourceforge.net/packages/psutils.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2822 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2823 * psnup documentation (GNU or Unix - or type `man psnup') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2824 `http://linux.about.com/library/cmd/blcmdl1_psnup.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2825 `http://amath.colorado.edu/computing/software/man/psnup.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2826 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2827 * GNU Enscript (Windows, GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2828 `http://people.ssh.com/mtr/genscript/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2829 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2830 * GNU Enscript documentation (Windows, GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2831 `http://people.ssh.com/mtr/genscript/enscript.man.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2832 (on GNU or Unix, type `man enscript') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2833 " |
49646 | 2834 :type '(repeat |
2835 (list :tag "PS File Utility" | |
2836 (symbol :tag "Utility Symbol") | |
2837 (string :tag "Utility Name") | |
2838 (repeat :tag "Must Utility Switches" | |
2839 (sexp :tag "Switch" :value "")) | |
2840 (choice :menu-tag "Paper Size" | |
2841 :tag "Paper Size" | |
2842 (const :tag "No Paper Size" nil) | |
2843 (string :tag "Paper Size Format")) | |
2844 (choice :menu-tag "N-Up" | |
2845 :tag "N-Up" | |
2846 (const :tag "No N-Up" nil) | |
2847 (string :tag "N-Up Format")) | |
2848 (choice :menu-tag "Landscape" | |
2849 :tag "Landscape" | |
2850 (const :tag "No Landscape" nil) | |
2851 (string :tag "Landscape Switch")) | |
2852 (choice :menu-tag "Duplex" | |
2853 :tag "Duplex" | |
2854 (const :tag "No Duplex" nil) | |
2855 (string :tag "Duplex Switch")) | |
2856 (choice :menu-tag "Tumble" | |
2857 :tag "Tumble" | |
2858 (const :tag "No Tumble" nil) | |
2859 (string :tag "Tumble Switch")) | |
2860 (string :tag "Output Separator") | |
2861 (repeat :tag "Utility Switches" | |
2862 (sexp :tag "Switch" :value "")) | |
2863 (repeat | |
2864 :tag "Default Value List" | |
2865 :inline t | |
2866 (cons | |
2867 :tag "" | |
2868 (choice | |
2869 :menu-tag "Variable" | |
2870 :tag "Variable" | |
2871 (const :tag "PS File Landscape" pr-file-landscape) | |
2872 (const :tag "PS File Duplex" pr-file-duplex) | |
2873 (const :tag "PS File Tumble" pr-file-tumble) | |
2874 (const :tag "Ghostscript Device" pr-gs-device) | |
2875 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
2876 (const :tag "inherits-from:" inherits-from:) | |
2877 (variable :tag "Other")) | |
2878 (sexp :tag "Value"))) | |
2879 )) | |
2880 :set 'pr-alist-custom-set | |
2881 :group 'printing) | |
2882 | |
2883 | |
2884 (defcustom pr-menu-lock t | |
100171 | 2885 "Non-nil means menu is locked while selecting toggle options. |
49646 | 2886 |
2887 See also `pr-menu-char-height' and `pr-menu-char-width'." | |
2888 :type 'boolean | |
2889 :group 'printing) | |
2890 | |
2891 | |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
2892 (defcustom pr-menu-char-height (pr-menu-char-height) |
100171 | 2893 "Specify menu char height in pixels. |
49646 | 2894 |
2895 This variable is used to guess which vertical position should be locked the | |
2896 menu, so don't forget to adjust it if menu position is not ok. | |
2897 | |
2898 See also `pr-menu-lock' and `pr-menu-char-width'." | |
2899 :type 'integer | |
2900 :group 'printing) | |
2901 | |
2902 | |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
2903 (defcustom pr-menu-char-width (pr-menu-char-width) |
100171 | 2904 "Specify menu char width in pixels. |
49646 | 2905 |
2906 This variable is used to guess which horizontal position should be locked the | |
2907 menu, so don't forget to adjust it if menu position is not ok. | |
2908 | |
2909 See also `pr-menu-lock' and `pr-menu-char-height'." | |
2910 :type 'integer | |
2911 :group 'printing) | |
2912 | |
2913 | |
2914 (defcustom pr-setting-database | |
2915 '((no-duplex ; setting symbol name | |
2916 nil nil nil ; inherits local kill-local | |
2917 (pr-file-duplex . nil) ; settings | |
2918 (pr-file-tumble . nil)) | |
2919 ) | |
100171 | 2920 "Specify an alist for settings in general. |
49646 | 2921 |
2922 The elements have the following form: | |
2923 | |
2924 (SYMBOL INHERITS LOCAL KILL-LOCAL SETTING...) | |
2925 | |
2926 Where: | |
2927 | |
2928 SYMBOL It's a symbol to identify the setting group. | |
2929 | |
2930 INHERITS Specify the inheritance for SYMBOL group. It's a symbol name | |
2931 setting from which the current setting inherits the context. | |
2932 If INHERITS is nil, means that there is no inheritance. | |
2933 This is a simple inheritance mechanism. | |
2934 | |
2935 Let's see an example to illustrate the inheritance mechanism: | |
2936 | |
2937 (setq pr-setting-database | |
2938 '((no-duplex ; setting symbol name | |
2939 nil ; inherits | |
2940 nil nil ; local kill-local | |
2941 (pr-file-duplex . nil) ; settings | |
2942 (pr-file-tumble . nil) | |
2943 ) | |
2944 (no-duplex-and-landscape ; setting symbol name | |
2945 no-duplex ; inherits | |
2946 nil nil ; local kill-local | |
2947 (pr-file-landscape . nil) ; settings | |
2948 ))) | |
2949 | |
2950 The example above has two setting groups: no-duplex and | |
2951 no-duplex-and-landscape. When setting no-duplex is activated | |
2952 through `inherits-from:' (see `pr-ps-utility', `pr-mode-alist' | |
2953 and `pr-ps-printer-alist'), the variables pr-file-duplex and | |
2954 pr-file-tumble are both set to nil. | |
2955 | |
2956 Now when setting no-duplex-and-landscape is activated through | |
2957 `inherits-from:', the variable pr-file-landscape is set to nil | |
2958 and also the settings for no-duplex are done, because | |
2959 no-duplex-and-landscape inherits settings from no-duplex. | |
2960 | |
2961 Take care with circular inheritance. It's an error if circular | |
2962 inheritance happens. | |
2963 | |
2964 LOCAL Non-nil means that all settings for SYMBOL group will be | |
2965 declared local buffer. | |
2966 | |
2967 KILL-LOCAL Non-nil means that all settings for SYMBOL group will be | |
2968 killed at end. It has effect only when LOCAL is non-nil. | |
2969 | |
2970 SETTING It's a cons like: | |
2971 | |
2972 (VARIABLE . VALUE) | |
2973 | |
80951 | 2974 Which associates VARIABLE with VALUE. When this entry is |
49646 | 2975 selected, it's executed the following command: |
2976 | |
2977 * If LOCAL is non-nil: | |
2978 (set (make-local-variable VARIABLE) (eval VALUE)) | |
2979 | |
2980 * If LOCAL is nil: | |
2981 (set VARIABLE (eval VALUE)) | |
2982 | |
2983 Note that VALUE can be any valid lisp expression. So, don't | |
2984 forget to quote symbols and constant lists. | |
2985 This setting is ignored if VARIABLE is equal to keyword | |
2986 `inherits-from:'. | |
2987 Examples: | |
2988 '(ps-landscape-mode . nil) | |
2989 '(ps-spool-duplex . t) | |
2990 '(pr-gs-device . (my-gs-device t))" | |
2991 :type '(repeat | |
2992 (list | |
2993 :tag "" | |
2994 (symbol :tag "Setting Name") | |
2995 (choice :menu-tag "Inheritance" | |
2996 :tag "Inheritance" | |
2997 (const :tag "No Inheritance" nil) | |
2998 (symbol :tag "Inherits From")) | |
2999 (boolean :tag "Local Buffer Setting") | |
3000 (boolean :tag "Kill Local Variable At End") | |
3001 (repeat | |
3002 :tag "Setting List" | |
3003 :inline t | |
3004 (cons | |
3005 :tag "" | |
3006 (choice | |
3007 :menu-tag "Variable" | |
3008 :tag "Variable" | |
3009 (const :tag "Landscape" ps-landscape-mode) | |
3010 (const :tag "Print Header" ps-print-header) | |
3011 (const :tag "Print Header Frame" ps-print-header-frame) | |
3012 (const :tag "Line Number" ps-line-number) | |
3013 (const :tag "Zebra Stripes" ps-zebra-stripes) | |
3014 (const :tag "Duplex" ps-spool-duplex) | |
3015 (const :tag "Tumble" ps-spool-tumble) | |
3016 (const :tag "Upside-Down" ps-print-upside-down) | |
3017 (const :tag "PS File Landscape" pr-file-landscape) | |
3018 (const :tag "PS File Duplex" pr-file-duplex) | |
3019 (const :tag "PS File Tumble" pr-file-tumble) | |
3020 (const :tag "Auto Region" pr-auto-region) | |
3021 (const :tag "Auto Mode" pr-auto-mode) | |
3022 (const :tag "Ghostscript Device" pr-gs-device) | |
3023 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
3024 (variable :tag "Other")) | |
3025 (sexp :tag "Value"))) | |
3026 )) | |
3027 :group 'printing) | |
3028 | |
3029 | |
3030 (defcustom pr-visible-entry-list | |
3031 '(postscript text postscript-options postscript-process printing help) | |
100171 | 3032 "Specify a list of Printing menu visible entries. |
49646 | 3033 |
3034 Valid values with the corresponding menu parts are: | |
3035 | |
3036 +------------------------------+ | |
3037 | Printing Interface | | |
3038 +------------------------------+ | |
3039 `postscript' | PostScript Preview >| | |
3040 | PostScript Print >| | |
3041 | PostScript Printer: name >| | |
3042 +------------------------------+ | |
3043 `text' | Printify >| | |
3044 | Print >| | |
3045 | Text Printer: name >| | |
3046 +------------------------------+ | |
3047 `postscript-options' |[ ] Landscape | | |
3048 |[ ] Print Header | | |
3049 |[ ] Print Header Frame | | |
3050 |[ ] Line Number | | |
3051 |[ ] Zebra Stripes | | |
3052 |[ ] Duplex | | |
3053 |[ ] Tumble | | |
3054 |[ ] Upside-Down | | |
3055 | Print All Pages >| | |
3056 +------------------------------+ | |
3057 `postscript-process' |[ ] Spool Buffer | | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3058 |[ ] Print with faces | |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3059 |[ ] Print via Ghostscript | |
49646 | 3060 +------------------------------+ |
3061 `printing' |[ ] Auto Region | | |
3062 |[ ] Auto Mode | | |
3063 |[ ] Menu Lock | | |
3064 +------------------------------+ | |
3065 `help' | Customize >| | |
3066 | Show Settings >| | |
3067 | Help | | |
3068 +------------------------------+ | |
3069 | |
3070 Any other value is ignored." | |
3071 :type '(repeat :tag "Menu Visible Part" | |
3072 (choice :menu-tag "Menu Part" | |
3073 :tag "Menu Part" | |
3074 (const postscript) | |
3075 (const text) | |
3076 (const postscript-options) | |
3077 (const postscript-process) | |
3078 (const printing) | |
3079 (const help))) | |
3080 :group 'printing) | |
3081 | |
3082 | |
3083 (defcustom pr-delete-temp-file t | |
100171 | 3084 "Non-nil means delete temporary files. |
49646 | 3085 |
3086 Set `pr-delete-temp-file' to nil, if the following message (or a similar) | |
3087 happens when printing: | |
3088 | |
3089 Error: could not open \"c:\\temp\\prspool.ps\" for reading." | |
3090 :type 'boolean | |
3091 :group 'printing) | |
3092 | |
3093 | |
3094 (defcustom pr-list-directory nil | |
100171 | 3095 "Non-nil means list directory when processing a directory. |
49646 | 3096 |
3097 That is, any subdirectories (and the superdirectory) of the directory (given as | |
3098 argument of functions below) are also printed (as dired-mode listings). | |
3099 | |
3100 It's used by `pr-ps-directory-preview', `pr-ps-directory-using-ghostscript', | |
3101 `pr-ps-directory-print', `pr-ps-directory-ps-print', `pr-printify-directory' | |
3102 and `pr-txt-directory'." | |
3103 :type 'boolean | |
3104 :group 'printing) | |
3105 | |
3106 | |
3107 (defcustom pr-buffer-name "*Printing Interface*" | |
100171 | 3108 "Specify the name of the buffer interface for printing package. |
49646 | 3109 |
3110 It's used by `pr-interface'." | |
3111 :type 'string | |
3112 :group 'printing) | |
3113 | |
3114 | |
3115 (defcustom pr-buffer-name-ignore | |
3116 (list (regexp-quote pr-buffer-name) ; ignore printing interface buffer | |
3117 "^ .*$") ; ignore invisible buffers | |
100171 | 3118 "Specify a regexp list for buffer names to be ignored in interface buffer. |
49646 | 3119 |
3120 NOTE: Case is important for matching, that is, `case-fold-search' is always | |
3121 nil. | |
3122 | |
3123 It's used by `pr-interface'." | |
3124 :type '(repeat (regexp :tag "Buffer Name Regexp")) | |
3125 :group 'printing) | |
3126 | |
3127 | |
3128 (defcustom pr-buffer-verbose t | |
100171 | 3129 "Non-nil means to be verbose when editing a field in interface buffer. |
49646 | 3130 |
3131 It's used by `pr-interface'." | |
3132 :type 'boolean | |
3133 :group 'printing) | |
3134 | |
3135 | |
3136 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
3137 ;; Internal Variables | |
3138 | |
3139 | |
3140 (defvar pr-txt-command nil | |
3141 "Name of program for printing a text file. | |
3142 See `pr-txt-printer-alist'.") | |
3143 | |
3144 | |
3145 (defvar pr-txt-switches nil | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3146 "List of sexp's to pass as extra options to the text printer program. |
49646 | 3147 See `pr-txt-printer-alist'.") |
3148 | |
3149 | |
3150 (defvar pr-txt-printer nil | |
3151 "Specify text printer name. | |
3152 See `pr-txt-printer-alist'.") | |
3153 | |
3154 | |
3155 (defvar pr-ps-command nil | |
3156 "Name of program for printing a PostScript file. | |
3157 See `pr-ps-printer-alist'.") | |
3158 | |
3159 | |
3160 (defvar pr-ps-switches nil | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3161 "List of sexp's to pass as extra options to the PostScript printer program. |
49646 | 3162 See `pr-ps-printer-alist'.") |
3163 | |
3164 | |
3165 (defvar pr-ps-printer-switch nil | |
3166 "Specify PostScript printer name switch. | |
3167 See `pr-ps-printer-alist'.") | |
3168 | |
3169 | |
3170 (defvar pr-ps-printer nil | |
3171 "Specify PostScript printer name. | |
3172 See `pr-ps-printer-alist'.") | |
3173 | |
3174 | |
3175 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3176 ;; Macros |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3177 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3178 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3179 (defmacro pr-save-file-modes (&rest body) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3180 "Set temporally file modes to `pr-file-modes'." |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3181 `(let ((pr--default-file-modes (default-file-modes))) ; save default |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3182 (set-default-file-modes pr-file-modes) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3183 ,@body |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3184 (set-default-file-modes pr--default-file-modes))) ; restore default |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3185 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3186 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3187 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
49646 | 3188 ;; Keys & Menus |
3189 | |
3190 | |
3191 (defsubst pr-visible-p (key) | |
3192 (memq key pr-visible-entry-list)) | |
3193 | |
3194 | |
3195 (defsubst pr-mode-alist-p () | |
3196 (cdr (assq major-mode pr-mode-alist))) | |
3197 | |
3198 | |
3199 (defsubst pr-auto-mode-p () | |
3200 (and pr-auto-mode (pr-mode-alist-p))) | |
3201 | |
3202 | |
3203 (defsubst pr-using-ghostscript-p () | |
3204 (and pr-print-using-ghostscript (not pr-spool-p))) | |
3205 | |
3206 | |
66951
e21a70dc8958
(easy-menu-intern): Don't define.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
65680
diff
changeset
|
3207 (defalias 'pr-get-symbol |
73027
575850f5bd53
Adjust X-URL
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
68651
diff
changeset
|
3208 (if (fboundp 'easy-menu-intern) ; hacked from easymenu.el |
66951
e21a70dc8958
(easy-menu-intern): Don't define.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
65680
diff
changeset
|
3209 'easy-menu-intern |
e21a70dc8958
(easy-menu-intern): Don't define.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
65680
diff
changeset
|
3210 (lambda (s) (if (stringp s) (intern s) s)))) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3211 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3212 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3213 (defconst pr-menu-spec |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3214 ;; Menu mapping: |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3215 ;; unfortunately XEmacs doesn't support :active for submenus, |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3216 ;; only for items. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3217 ;; So, it uses :included instead of :active. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3218 ;; Also, XEmacs doesn't support :help tag. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3219 (let ((pr-:active (if (featurep 'xemacs) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3220 :included ; XEmacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3221 :active)) ; GNU Emacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3222 (pr-:help (if (featurep 'xemacs) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3223 'ignore ; XEmacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3224 #'(lambda (text) (list :help text))))) ; GNU Emacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3225 `( |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3226 ["Printing Interface" pr-interface |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3227 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3228 pr-:help "Use buffer interface instead of menu interface")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3229 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3230 ("PostScript Preview" :included (pr-visible-p 'postscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3231 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3232 pr-:help "Preview PostScript instead of sending to printer") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3233 ("Directory" ,pr-:active (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3234 ["1-up" (pr-ps-directory-preview 1 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3235 ["2-up" (pr-ps-directory-preview 2 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3236 ["4-up" (pr-ps-directory-preview 4 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3237 ["Other..." (pr-ps-directory-preview nil nil nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3238 :keys "\\[pr-ps-buffer-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3239 ("Buffer" ,pr-:active (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3240 ["1-up" (pr-ps-buffer-preview 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3241 ["2-up" (pr-ps-buffer-preview 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3242 ["4-up" (pr-ps-buffer-preview 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3243 ["Other..." (pr-ps-buffer-preview nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3244 :keys "\\[pr-ps-buffer-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3245 ("Region" ,pr-:active (and (not pr-spool-p) (ps-mark-active-p)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3246 ["1-up" (pr-ps-region-preview 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3247 ["2-up" (pr-ps-region-preview 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3248 ["4-up" (pr-ps-region-preview 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3249 ["Other..." (pr-ps-region-preview nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3250 :keys "\\[pr-ps-region-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3251 ("Mode" ,pr-:active (and (not pr-spool-p) (pr-mode-alist-p)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3252 ["1-up" (pr-ps-mode-preview 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3253 ["2-up" (pr-ps-mode-preview 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3254 ["4-up" (pr-ps-mode-preview 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3255 ["Other..." (pr-ps-mode-preview nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3256 :keys "\\[pr-ps-mode-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3257 ("File" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3258 ["No Preprocessing..." (call-interactively 'pr-ps-file-preview) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3259 :keys "\\[pr-ps-file-preview]" |
58218
63c796a99b3e
adjust pr-menu-spec
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58204
diff
changeset
|
3260 ,@(funcall |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3261 pr-:help "Preview PostScript file")] |
49646 | 3262 "--" |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3263 ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist |
58218
63c796a99b3e
adjust pr-menu-spec
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58204
diff
changeset
|
3264 ,@(funcall |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3265 pr-:help "Select PostScript utility")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3266 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3267 ["1-up..." (pr-ps-file-up-preview 1 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3268 ["2-up..." (pr-ps-file-up-preview 2 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3269 ["4-up..." (pr-ps-file-up-preview 4 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3270 ["Other..." (pr-ps-file-up-preview nil t t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3271 :keys "\\[pr-ps-file-up-preview]" :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3272 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3273 ["Landscape" pr-toggle-file-landscape-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3274 :style toggle :selected pr-file-landscape |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3275 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3276 pr-:help "Toggle landscape for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3277 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3278 ["Duplex" pr-toggle-file-duplex-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3279 :style toggle :selected pr-file-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3280 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3281 pr-:help "Toggle duplex for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3282 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3283 ["Tumble" pr-toggle-file-tumble-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3284 :style toggle :selected pr-file-tumble |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3285 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3286 pr-:help "Toggle tumble for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3287 :active (and pr-file-duplex pr-ps-utility-alist)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3288 ["Despool..." (call-interactively 'pr-despool-preview) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3289 :active pr-spool-p :keys "\\[pr-despool-preview]" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3290 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3291 pr-:help "Despool PostScript buffer to printer or file (C-u)")]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3292 ("PostScript Print" :included (pr-visible-p 'postscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3293 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3294 pr-:help "Send PostScript to printer or file (C-u)") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3295 ("Directory" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3296 ["1-up" (pr-ps-directory-ps-print 1 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3297 ["2-up" (pr-ps-directory-ps-print 2 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3298 ["4-up" (pr-ps-directory-ps-print 4 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3299 ["Other..." (pr-ps-directory-ps-print nil nil nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3300 :keys "\\[pr-ps-buffer-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3301 ("Buffer" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3302 ["1-up" (pr-ps-buffer-ps-print 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3303 ["2-up" (pr-ps-buffer-ps-print 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3304 ["4-up" (pr-ps-buffer-ps-print 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3305 ["Other..." (pr-ps-buffer-ps-print nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3306 :keys "\\[pr-ps-buffer-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3307 ("Region" ,pr-:active (ps-mark-active-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3308 ["1-up" (pr-ps-region-ps-print 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3309 ["2-up" (pr-ps-region-ps-print 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3310 ["4-up" (pr-ps-region-ps-print 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3311 ["Other..." (pr-ps-region-ps-print nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3312 :keys "\\[pr-ps-region-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3313 ("Mode" ,pr-:active (pr-mode-alist-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3314 ["1-up" (pr-ps-mode-ps-print 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3315 ["2-up" (pr-ps-mode-ps-print 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3316 ["4-up" (pr-ps-mode-ps-print 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3317 ["Other..." (pr-ps-mode-ps-print nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3318 :keys "\\[pr-ps-mode-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3319 ("File" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3320 ["No Preprocessing..." (call-interactively 'pr-ps-file-ps-print) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3321 :keys "\\[pr-ps-file-ps-print]" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3322 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3323 pr-:help "Send PostScript file to printer")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3324 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3325 ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3326 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3327 pr-:help "Select PostScript utility")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3328 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3329 ["1-up..." (pr-ps-file-up-ps-print 1 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3330 ["2-up..." (pr-ps-file-up-ps-print 2 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3331 ["4-up..." (pr-ps-file-up-ps-print 4 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3332 ["Other..." (pr-ps-file-up-ps-print nil t t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3333 :keys "\\[pr-ps-file-up-ps-print]" :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3334 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3335 ["Landscape" pr-toggle-file-landscape-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3336 :style toggle :selected pr-file-landscape |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3337 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3338 pr-:help "Toggle landscape for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3339 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3340 ["Duplex" pr-toggle-file-duplex-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3341 :style toggle :selected pr-file-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3342 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3343 pr-:help "Toggle duplex for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3344 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3345 ["Tumble" pr-toggle-file-tumble-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3346 :style toggle :selected pr-file-tumble |
58218
63c796a99b3e
adjust pr-menu-spec
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58204
diff
changeset
|
3347 ,@(funcall |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3348 pr-:help "Toggle tumble for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3349 :active (and pr-file-duplex pr-ps-utility-alist)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3350 ["Despool..." (call-interactively 'pr-despool-ps-print) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3351 :active pr-spool-p :keys "\\[pr-despool-ps-print]" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3352 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3353 pr-:help "Despool PostScript buffer to printer or file (C-u)")]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3354 ["PostScript Printers" pr-update-menus |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3355 :active pr-ps-printer-alist :included (pr-visible-p 'postscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3356 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3357 pr-:help "Select PostScript printer")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3358 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3359 ("Printify" :included (pr-visible-p 'text) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3360 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3361 pr-:help |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3362 "Replace non-printing chars with printable representations.") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3363 ["Directory" pr-printify-directory t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3364 ["Buffer" pr-printify-buffer t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3365 ["Region" pr-printify-region (ps-mark-active-p)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3366 ("Print" :included (pr-visible-p 'text) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3367 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3368 pr-:help "Send text to printer") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3369 ["Directory" pr-txt-directory t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3370 ["Buffer" pr-txt-buffer t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3371 ["Region" pr-txt-region (ps-mark-active-p)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3372 ["Mode" pr-txt-mode (pr-mode-alist-p)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3373 ["Text Printers" pr-update-menus |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3374 :active pr-txt-printer-alist :included (pr-visible-p 'text) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3375 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3376 pr-:help "Select text printer")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3377 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3378 ["Landscape" pr-toggle-landscape-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3379 :style toggle :selected ps-landscape-mode |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3380 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3381 ["Print Header" pr-toggle-header-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3382 :style toggle :selected ps-print-header |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3383 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3384 ["Print Header Frame" pr-toggle-header-frame-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3385 :style toggle :selected ps-print-header-frame :active ps-print-header |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3386 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3387 ["Line Number" pr-toggle-line-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3388 :style toggle :selected ps-line-number |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3389 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3390 ["Zebra Stripes" pr-toggle-zebra-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3391 :style toggle :selected ps-zebra-stripes |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3392 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3393 ["Duplex" pr-toggle-duplex-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3394 :style toggle :selected ps-spool-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3395 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3396 ["Tumble" pr-toggle-tumble-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3397 :style toggle :selected ps-spool-tumble :active ps-spool-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3398 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3399 ["Upside-Down" pr-toggle-upside-down-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3400 :style toggle :selected ps-print-upside-down |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3401 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3402 ("Print All Pages" :included (pr-visible-p 'postscript-options) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3403 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3404 pr-:help "Select odd/even pages/sheets to print") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3405 ["All Pages" (pr-even-or-odd-pages nil) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3406 :style radio :selected (eq ps-even-or-odd-pages nil)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3407 ["Even Pages" (pr-even-or-odd-pages 'even-page) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3408 :style radio :selected (eq ps-even-or-odd-pages 'even-page)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3409 ["Odd Pages" (pr-even-or-odd-pages 'odd-page) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3410 :style radio :selected (eq ps-even-or-odd-pages 'odd-page)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3411 ["Even Sheets" (pr-even-or-odd-pages 'even-sheet) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3412 :style radio :selected (eq ps-even-or-odd-pages 'even-sheet)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3413 ["Odd Sheets" (pr-even-or-odd-pages 'odd-sheet) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3414 :style radio :selected (eq ps-even-or-odd-pages 'odd-sheet)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3415 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3416 ["Spool Buffer" pr-toggle-spool-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3417 :style toggle :selected pr-spool-p |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3418 :included (pr-visible-p 'postscript-process) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3419 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3420 pr-:help "Toggle PostScript spooling")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3421 ["Print with faces" pr-toggle-faces-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3422 :style toggle :selected pr-faces-p |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3423 :included (pr-visible-p 'postscript-process) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3424 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3425 pr-:help "Toggle PostScript printing with faces")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3426 ["Print via Ghostscript" pr-toggle-ghostscript-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3427 :style toggle :selected pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3428 :included (pr-visible-p 'postscript-process) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3429 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3430 pr-:help "Toggle PostScript generation using ghostscript")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3431 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3432 ["Auto Region" pr-toggle-region-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3433 :style toggle :selected pr-auto-region |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3434 :included (pr-visible-p 'printing)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3435 ["Auto Mode" pr-toggle-mode-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3436 :style toggle :selected pr-auto-mode |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3437 :included (pr-visible-p 'printing)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3438 ["Menu Lock" pr-toggle-lock-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3439 :style toggle :selected pr-menu-lock |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3440 :included (pr-visible-p 'printing)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3441 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3442 ("Customize" :included (pr-visible-p 'help) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3443 ["printing" pr-customize t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3444 ["ps-print" ps-print-customize t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3445 ["lpr" lpr-customize t]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3446 ("Show Settings" :included (pr-visible-p 'help) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3447 ["printing" pr-show-pr-setup t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3448 ["ps-print" pr-show-ps-setup t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3449 ["lpr" pr-show-lpr-setup t]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3450 ["Help" pr-help :active t :included (pr-visible-p 'help)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3451 ))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3452 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3453 |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3454 (defun pr-menu-bind () |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3455 "Install `printing' menu in the menubar. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3456 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3457 On Emacs 20, it replaces the Tools/Print menu by Tools/Printing menu. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3458 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3459 On Emacs 21 and 22, it replaces the File/Print* menu entries by File/Print |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3460 menu. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3461 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3462 Calls `pr-update-menus' to adjust menus." |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3463 (interactive) |
80951 | 3464 (pr-global-menubar pr-menu-spec) |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3465 (pr-update-menus t)) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3466 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3467 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3468 ;; Key binding |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3469 (let ((pr-print-key (if (featurep 'xemacs) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3470 'f22 ; XEmacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3471 'print))) ; GNU Emacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3472 (global-set-key `[,pr-print-key] 'pr-ps-fast-fire) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3473 ;; Well, M-print and S-print are used because in my keyboard S-print works |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3474 ;; and M-print doesn't. But M-print can work in other keyboard. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3475 (global-set-key `[(meta ,pr-print-key)] 'pr-ps-mode-using-ghostscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3476 (global-set-key `[(shift ,pr-print-key)] 'pr-ps-mode-using-ghostscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3477 ;; Well, C-print and C-M-print are used because in my keyboard C-M-print works |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3478 ;; and C-print doesn't. But C-print can work in other keyboard. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3479 (global-set-key `[(control ,pr-print-key)] 'pr-txt-fast-fire) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3480 (global-set-key `[(control meta ,pr-print-key)] 'pr-txt-fast-fire)) |
49646 | 3481 |
3482 | |
3483 ;;; You can also use something like: | |
3484 ;;;(global-set-key "\C-ci" 'pr-interface) | |
3485 ;;;(global-set-key "\C-cbp" 'pr-ps-buffer-print) | |
3486 ;;;(global-set-key "\C-cbx" 'pr-ps-buffer-preview) | |
3487 ;;;(global-set-key "\C-cbb" 'pr-ps-buffer-using-ghostscript) | |
3488 ;;;(global-set-key "\C-crp" 'pr-ps-region-print) | |
3489 ;;;(global-set-key "\C-crx" 'pr-ps-region-preview) | |
3490 ;;;(global-set-key "\C-crr" 'pr-ps-region-using-ghostscript) | |
3491 | |
3492 | |
3493 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
3494 ;; Help Message | |
3495 | |
3496 | |
3497 (defconst pr-help-message | |
3498 (concat "printing.el version " pr-version | |
3499 " ps-print.el version " ps-print-version | |
3500 "\n\n | |
3501 Menu Layout | |
3502 ----------- | |
3503 | |
3504 The `printing' menu (Tools/Printing or File/Print) has the following layout: | |
3505 | |
3506 +-----------------------------+ | |
3507 A 0 | Printing Interface | | |
3508 +-----------------------------+ +-A---------+ +-B------+ | |
3509 I 1 | PostScript Preview >|-------|Directory >|-----|1-up | | |
3510 2 | PostScript Print >|---- A |Buffer >|-- B |2-up | | |
3511 3 | PostScript Printer: name >|---- C |Region >|-- B |4-up | | |
3512 +-----------------------------+ |Mode >|-- B |Other...| | |
3513 II 4 | Printify >|-----\\ |File >|--\\ +--------+ | |
3514 5 | Print >|---\\ | |Despool... | | | |
3515 6 | Text Printer: name >|-\\ | | +-----------+ | | |
3516 +-----------------------------+ | | | +---------+ +------------+ | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3517 III 7 |[ ]Landscape | | | \\-|Directory| | No Prep... | Ia |
49646 | 3518 8 |[ ]Print Header | | | |Buffer | +------------+ Ib |
3519 9 |[ ]Print Header Frame | | | |Region | | name >|- C | |
3520 10 |[ ]Line Number | | | +---------+ +------------+ | |
3521 11 |[ ]Zebra Stripes | | | +---------+ | 1-up... | Ic | |
3522 12 |[ ]Duplex | | \\---|Directory| | 2-up... | | |
3523 13 |[ ]Tumble | \\--\\ |Buffer | | 4-up... | | |
3524 14 |[ ]Upside-Down | | |Region | | Other... | | |
3525 15 | Print All Pages >|--\\ | |Mode | +------------+ | |
3526 +-----------------------------+ | | +---------+ |[ ]Landscape| Id | |
3527 IV 16 |[ ]Spool Buffer | | | +-C-------+ |[ ]Duplex | Ie | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3528 17 |[ ]Print with faces | | \\--|( )name A| |[ ]Tumble | If |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3529 18 |[ ]Print via Ghostscript | | |( )name B| +------------+ |
49646 | 3530 +-----------------------------+ | |... | |
3531 V 19 |[ ]Auto Region | | |(*)name | | |
3532 20 |[ ]Auto Mode | | |... | | |
3533 21 |[ ]Menu Lock | | +---------+ +--------------+ | |
3534 +-----------------------------+ \\------------------|(*)All Pages | | |
3535 VI 22 | Customize >|--- D +-D------+ |( )Even Pages | | |
3536 23 | Show Settings >|-------|printing| |( )Odd Pages | | |
3537 24 | Help | |ps-print| |( )Even Sheets| | |
3538 +-----------------------------+ |lpr | |( )Odd Sheets | | |
3539 +--------+ +--------------+ | |
3540 | |
3541 See `pr-visible-entry-list' for hiding some parts of the menu. | |
3542 | |
3543 The menu has the following sections: | |
3544 | |
3545 A. Interface: | |
3546 | |
3547 0. You can use a buffer interface instead of menus. It looks like the | |
3548 customization buffer. Basically, it has the same options found in the | |
3549 menu and some extra options, all this on a buffer. | |
3550 | |
3551 I. PostScript printing: | |
3552 | |
3553 1. You can generate a PostScript file (if you type C-u before activating | |
3554 menu) or PostScript temporary file for a directory, a buffer, a region | |
3555 or a major mode, choosing 1-up, 2-up, 4-up or any other n-up printing; | |
3556 after file generation, ghostview is activated using the file generated | |
3557 as argument. This option is disabled if spooling is on (option 16). | |
3558 Also, if you already have a PostScript file you can preview it. | |
3559 Instead of previewing each buffer, region or major mode at once, you | |
3560 can save temporarily the PostScript code generated in a buffer and | |
3561 preview it later. The option `Despool...' despools the PostScript | |
3562 spooling buffer in a temporary file and uses ghostview to preview it. | |
3563 If you type C-u before choosing this option, the PostScript code | |
3564 generated is saved in a file instead of saving in a temporary file. To | |
3565 spool the PostScript code generated you need to turn on the option 16. | |
3566 The option `Despool...' is enabled if spooling is on (option 16). | |
3567 | |
3568 NOTE 1: It's possible to customize a major mode printing, just declare | |
3569 the customization in `pr-mode-alist' and invoke some of | |
3570 `*-mode*' commands or select Mode option in Printing menu. An | |
3571 example for major mode usage is when you're using gnus (or mh, | |
3572 or rmail, etc.) and you're in the *Summary* buffer, if you | |
3573 forget to switch to the *Article* buffer before printing, | |
3574 you'll get a nicely formatted list of article subjects shows | |
3575 up at the printer. With major mode printing you don't need to | |
3576 switch from gnus *Summary* buffer first. | |
3577 | |
3578 NOTE 2: There are the following options for PostScript file processing: | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3579 Ia. Print the file *No Preprocessing*, that is, send it |
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3580 directly to PostScript printer. |
49646 | 3581 Ib. PostScript utility processing selection. |
3582 See `pr-ps-utility-alist' and `pr-setting-database' for | |
3583 documentation. | |
3584 Ic. Do n-up processing before printing. | |
3585 Id. Toggle on/off landscape for PostScript file processing. | |
3586 Ie. Toggle on/off duplex for PostScript file processing. | |
3587 If. Toggle on/off tumble for PostScript file processing. | |
3588 | |
3589 NOTE 3: Don't forget to download and install the utilities declared on | |
3590 `pr-ps-utility-alist'. | |
3591 | |
3592 2. Operate the same way as option 1, but it sends directly the PostScript | |
3593 code (or put in a file, if you've typed C-u) or it uses ghostscript to | |
3594 print the PostScript file generated. It depends on option 18, if it's | |
3595 turned on, it uses ghostscript; otherwise, it sends directly to | |
3596 printer. If spooling is on (option 16), the PostScript code is saved | |
3597 temporarily in a buffer instead of printing it or saving it in a file. | |
3598 Also, if you already have a PostScript file you can print it. | |
3599 Instead of printing each buffer, region or major mode at once, you can | |
3600 save temporarily the PostScript code generated in a buffer and print it | |
3601 later. The option `Despool...' despools the PostScript spooling buffer | |
3602 directly on a printer. If you type C-u before choosing this option, | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3603 the PostScript code generated is saved in a file instead of sending it to |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3604 the printer. To spool the PostScript code generated you need to turn on |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3605 option 16. This option is enabled if spooling is on (option 16). |
49646 | 3606 See also the NOTE 1, NOTE 2 and NOTE 3 on option 1. |
3607 | |
3608 3. You can select a new PostScript printer to send PostScript code | |
3609 generated. For selection it's used all PostScript printers defined | |
3610 in `pr-ps-printer-alist' variable (see it for documentation). | |
3611 See also `pr-setting-database'. | |
3612 | |
3613 II. Text printing: | |
3614 | |
3615 4. If you have control characters (character code from \\000 to \\037) in a | |
3616 buffer and you want to print them in a text printer, select this | |
3617 option. All control characters in your buffer or region will be | |
3618 replaced by a printable representation. The printable representations | |
3619 use ^ (for ASCII control characters) or hex. The characters tab, | |
3620 linefeed, space, return and formfeed are not affected. | |
3621 You don't need to select this option if you use any option of section | |
3622 I, the PostScript engine treats control characters properly. | |
3623 | |
3624 5. If you want to print a directory, buffer, region or major mode in a | |
3625 text printer, select this option. See also the NOTE 1 on option 1. | |
3626 | |
3627 6. You can select a new text printer to send text generated. For | |
3628 selection it's used all text printers defined in `pr-txt-printer-alist' | |
3629 variable (see it for documentation). | |
3630 See also `pr-setting-database'. | |
3631 | |
3632 III. PostScript page toggle options: | |
3633 | |
3634 7. If you want a PostScript landscape printing, turn on this option. | |
3635 | |
3636 8. If you want to have a header in each page in your PostScript code, | |
3637 turn on this option. | |
3638 | |
3639 9. If you want to draw a gaudy frame around the header, turn on this | |
3640 option. This option is enabled if print header is on (option 8). | |
3641 | |
3642 10. If you want that the line number is printed in your PostScript code, | |
3643 turn on this option. | |
3644 | |
3645 11. If you want background zebra stripes in your PostScript code, turn on | |
3646 this option. | |
3647 | |
3648 12. If you want a duplex printing and your PostScript printer has this | |
3649 feature, turn on this option. | |
3650 | |
3651 13. If you turned on duplex printing, you can choose if you want to have a | |
3652 printing suitable for binding on the left or right (tumble off), or to | |
3653 have a printing suitable for binding at top or bottom (tumble on). | |
3654 This option is enabled if duplex is on (option 12). | |
3655 | |
3656 14. If you want a PostScript upside-down printing, turn on this option. | |
3657 | |
3658 15. With this option, you can choose if you want to print all pages, odd | |
3659 pages, even pages, odd sheets or even sheets. | |
3660 See also `ps-even-or-odd-pages'. | |
3661 | |
3662 IV. PostScript processing toggle options: | |
3663 | |
3664 16. If you want to spool the PostScript code generated, turn on this | |
3665 option. To spool the PostScript code generated use option 2. You can | |
3666 despool later by choosing option 1 or 2, sub-option `Despool...'. | |
3667 | |
3668 17. If you use colors in your buffers and want to see these colors on your | |
3669 PostScript code generated, turn on this option. If you have a | |
3670 black/white PostScript printer, these colors are displayed in gray | |
3671 scale by PostScript printer interpreter. | |
3672 | |
3673 18. If you don't have a PostScript printer to send PostScript files, turn | |
3674 on this option. When this option is on, the ghostscript is used to | |
3675 print PostScript files. In GNU or Unix system, if ghostscript is set | |
3676 as a PostScript filter, you don't need to turn on this option. | |
3677 | |
3678 V. Printing customization: | |
3679 | |
3680 19. If you want that region is automagically detected, turn on this | |
3681 option. Note that this will only work if you're using transient mark | |
3682 mode. When this option is on, the `*-buffer*' commands will behave | |
3683 like `*-region*' commands, that is, `*-buffer*' commands will print | |
3684 only the region marked instead of all buffer. | |
3685 | |
3686 20. Turn this option on if you want that when current major-mode is | |
3687 declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands | |
3688 behave like `*-mode*' commands. | |
3689 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3690 21. If you want that Printing menu stays open while you are setting |
49646 | 3691 toggle options, turn on this option. The variables |
3692 `pr-menu-char-height' and `pr-menu-char-width' are used to guess the | |
3693 menu position, so don't forget to adjust these variables if menu | |
3694 position is not ok. | |
3695 | |
3696 VI. Customization: | |
3697 | |
3698 22. Besides all options in section III, IV and V, you can customize much | |
3699 more PostScript options in `ps-print' option. Or you can customize | |
3700 some `lpr' options for text printing. Or customize `printing' | |
3701 options. | |
3702 | |
3703 23. Show current settings for `printing', `ps-print' or `lpr'. | |
3704 | |
3705 24. Quick help for printing menu layout. | |
3706 ") | |
3707 "Printing help message.") | |
3708 | |
3709 | |
3710 (defconst pr-interface-help-message | |
3711 (concat "printing.el version " pr-version | |
3712 " ps-print.el version " ps-print-version | |
3713 "\n\n | |
3714 The printing interface buffer has the same functionality as the printing menu. | |
3715 The major difference is that the states (like sending PostScript generated to a | |
3716 file, n-up printing, etc.) are set and saved between priting buffer | |
3717 activation. Also, the landscape, duplex and tumble values are the same for | |
3718 PostScript file and directory/buffer/region/mode processing; using menu, there | |
3719 are different value sets for PostScript file and directory/buffer/region/mode | |
3720 processing. | |
3721 | |
3722 The printing interface buffer has the following sections: | |
3723 | |
3724 1. Print: | |
3725 | |
3726 Here you can choose to print/preview a buffer, a directory or a PostScript | |
3727 file: | |
3728 | |
3729 1a. Buffer: | |
3730 | |
3731 * Buffer List: | |
3732 Select a buffer from the current buffer list. | |
3733 | |
3734 * Region: | |
3735 If it's on, this means that the selected buffer has an active region, | |
3736 so you can turn on/off, as you wish. | |
3737 If it's off when a buffer is selected, this means that the selected | |
3738 buffer has no active region, so it'll not be possible to turn it on. | |
3739 If you want to process the region, let this option on. | |
3740 If you want to process the whole buffer, let this option off. | |
3741 | |
3742 * Mode: | |
3743 If it's on, this means that the selected buffer major mode is declared | |
3744 for major mode processing, so you can turn on/off, as you wish. | |
3745 If it's off when a buffer is selected, this means that the selected | |
3746 buffer major mode isn't declared for major mode processing, so it'll | |
3747 not be possible to turn it on. | |
3748 If you want the major mode processing, let this option on. | |
3749 If you don't want the major mode processing, let this option off. | |
3750 | |
3751 NOTE 1: It's possible to customize a major mode printing, just declare | |
3752 the customization in `pr-mode-alist' and invoke some of | |
3753 `*-mode*' commands or select Mode option in Printing menu. An | |
3754 example for major mode usage is when you're using gnus (or mh, | |
3755 or rmail, etc.) and you're in the *Summary* buffer, if you | |
3756 forget to switch to the *Article* buffer before printing, | |
3757 you'll get a nicely formatted list of article subjects shows | |
3758 up at the printer. With major mode printing you don't need to | |
3759 switch from gnus *Summary* buffer first. | |
3760 | |
3761 1b. Directory: | |
3762 | |
3763 * Directory: | |
3764 Specify a valid directory path. | |
3765 | |
3766 * File Regexp: | |
3767 Specify a file name regexp. All file names in the directory that | |
3768 match with regexp will be printed/previewed. An empty file name | |
3769 regexp means to print/preview all files in the directory. | |
3770 | |
3771 * List Directory Entry: | |
3772 If it's turned on, list directory entries besides file entries. | |
3773 | |
3774 1c. PostScript file: | |
3775 | |
3776 * PostScript File: | |
3777 Specify an existent PostScript file to print/preview. | |
3778 | |
3779 * PostScript Utility: | |
3780 Select a PostScript utility. | |
3781 See `pr-ps-utility-alist' and `pr-setting-database' for documentation. | |
3782 | |
3783 NOTE 2: Don't forget to download and install the utilities declared on | |
3784 `pr-ps-utility-alist'. | |
3785 | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3786 * No Preprocessing: |
49646 | 3787 If it's turned on, don't use the PostScript utility to preprocess the |
3788 PostScript file before printing/previewing. | |
3789 | |
3790 2. PostScript printer: | |
3791 | |
3792 * PostScript Printer: | |
3793 You can select a new PostScript printer to send PostScript code | |
3794 generated. For selection it's used all PostScript printers defined | |
3795 in `pr-ps-printer-alist' variable (see it for documentation). | |
3796 See also `pr-setting-database'. | |
3797 | |
3798 * Despool: | |
3799 If spooling is on, you can turn it on/off, as you wish. | |
3800 If spooling is off, it'll not be possible to turn it on. | |
3801 If it's turned on, specify to despools the PostScript spooling buffer in | |
3802 a temporary file or in the selected PostScript file when | |
3803 printing/previewing. | |
3804 | |
3805 * Preview: | |
3806 Preview the PostScript generated. | |
3807 | |
3808 * Print: | |
3809 Print the PostScript generated. | |
3810 | |
3811 * Quit: | |
3812 Quit from printing interface buffer. | |
3813 | |
3814 * Send to Printer/Temporary File: | |
3815 If it's turned on, the PostScript generated is sent directly to | |
3816 PostScript printer or, for previewing, to a temporary file. | |
3817 | |
3818 * Send to File: | |
3819 Specify a file name to send the PostScript generated. | |
3820 | |
3821 * N-Up: | |
3822 Specify n-up printing. | |
3823 | |
3824 3. Text printer: | |
3825 | |
3826 * Text Printer: | |
3827 Select a new text printer to send text generated. For selection it's used | |
3828 all text printers defined in `pr-txt-printer-alist' variable (see it for | |
3829 documentation). See also `pr-setting-database'. | |
3830 | |
3831 * Printify: | |
3832 If you have control characters (character code from \\000 to \\037) in a | |
3833 buffer and you want to print them in a text printer, select this | |
3834 option. All control characters in your buffer or region will be | |
3835 replaced by a printable representation. The printable representations | |
3836 use ^ (for ASCII control characters) or hex. The characters tab, | |
3837 linefeed, space, return and formfeed are not affected. | |
3838 You don't need to select this option if you use any option of section | |
3839 I, the PostScript engine treats control characters properly. | |
3840 | |
3841 * Print: | |
3842 To print a directory, buffer, region or major mode in a | |
3843 text printer, select this option. See also the NOTE 1 on section 1. | |
3844 | |
3845 * Quit: | |
3846 Quit from printing interface buffer. | |
3847 | |
3848 4. Settings: | |
3849 | |
3850 There are 3 setting columns: | |
3851 | |
3852 4a. First column (left column): | |
3853 | |
3854 * Landscape: | |
3855 PostScript landscape printing. | |
3856 | |
3857 * Print Header: | |
3858 To have a header in each page in your PostScript code. | |
3859 | |
3860 * Print Header Frame: | |
3861 To draw a gaudy frame around the header. | |
3862 | |
3863 * Line Number: | |
3864 The line number is printed in your PostScript code. | |
3865 | |
3866 * Zebra Stripes: | |
3867 Background zebra stripes in your PostScript code. | |
3868 | |
3869 * Duplex: | |
3870 Duplex printing (if your PostScript printer has this feature). | |
3871 | |
3872 * Tumble: | |
3873 If duplex printing is on, you can choose if you want to have a | |
3874 printing suitable for binding on the left or right (tumble off), or to | |
3875 have a printing suitable for binding at top or bottom (tumble on). | |
3876 | |
3877 * Upside-Down: | |
3878 PostScript upside-down printing. | |
3879 | |
3880 4b. Second column (middle column): | |
3881 | |
3882 * Auto Region: | |
3883 If you want that region is automagically detected, turn on this | |
3884 option. Note that this will only work if you're using transient mark | |
3885 mode. When this option is on, the `*-buffer*' commands will behave | |
3886 like `*-region*' commands, that is, `*-buffer*' commands will print | |
3887 only the region marked instead of all buffer. | |
3888 | |
3889 * Auto Mode: | |
3890 Turn this option on if you want that when current major-mode is | |
3891 declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands | |
3892 behave like `*-mode*' commands. | |
3893 | |
3894 * Menu Lock: | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3895 If you want that Printing menu stays open while you are setting |
49646 | 3896 toggle options, turn on this option. The variables |
3897 `pr-menu-char-height' and `pr-menu-char-width' are used to guess the | |
3898 menu position, so don't forget to adjust these variables if menu | |
3899 position is not ok. | |
3900 | |
3901 * Spool Buffer: | |
3902 To spool the PostScript code generated. You can despool later by | |
3903 setting Despool option on PostScript printer section. | |
3904 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3905 * Print with faces: |
49646 | 3906 If you use colors in your buffers and want to see these colors on your |
3907 PostScript code generated, turn on this option. If you have a | |
3908 black/white PostScript printer, these colors are displayed in gray | |
3909 scale by PostScript printer interpreter. | |
3910 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3911 * Print via Ghostscript: |
49646 | 3912 If you don't have a PostScript printer to send PostScript files, turn |
3913 on this option. When this option is on, the ghostscript is used to | |
3914 print PostScript files. In GNU or Unix system, if ghostscript is set | |
3915 as a PostScript filter, you don't need to turn on this option. | |
3916 | |
3917 * Parity Page Menu: | |
3918 To print all pages, odd pages, even pages, odd sheets or even sheets. | |
3919 See also `ps-even-or-odd-pages'. | |
3920 | |
3921 4c. Third column (right column): | |
3922 | |
3923 * Verbose: | |
3924 That is, to be verbose when editing a field in interface buffer. | |
3925 | |
3926 5. Customize: | |
3927 | |
3928 Besides all options in section 4, you can customize much more PostScript | |
3929 options in `ps-print' option. Or you can customize some `lpr' options for | |
3930 text printing. Or customize `printing' options. | |
3931 | |
3932 6. Show settings: | |
3933 | |
3934 Show current settings for `printing', `ps-print' or `lpr'. | |
3935 | |
3936 7. Help: | |
3937 | |
3938 Quick help for printing interface buffer and printing menu layout. You can | |
3939 also quit the printing interface buffer or kill all printing help buffer. | |
3940 ") | |
3941 "Printing buffer interface help message.") | |
3942 | |
3943 | |
3944 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
3945 ;; Commands | |
3946 | |
3947 | |
3948 ;;;###autoload | |
3949 (defun pr-interface (&optional buffer) | |
3950 "Activate the printing interface buffer. | |
3951 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3952 If BUFFER is nil, the current buffer is used for printing. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3953 |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3954 For more information, type \\[pr-interface-help]." |
49646 | 3955 (interactive) |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
3956 (with-current-buffer (or buffer (current-buffer)) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3957 (pr-create-interface))) |
49646 | 3958 |
3959 | |
3960 ;;;###autoload | |
3961 (defun pr-ps-directory-preview (n-up dir file-regexp &optional filename) | |
3962 "Preview directory using ghostview. | |
3963 | |
3964 Interactively, the command prompts for N-UP printing number, a directory, a | |
3965 file name regexp for matching and, when you use a prefix argument (C-u), the | |
3966 command prompts the user for a file name, and saves the PostScript image in | |
3967 that file instead of saving it in a temporary file. | |
3968 | |
3969 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
3970 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
3971 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
3972 save the image in a temporary file. If FILENAME is a string, save the | |
3973 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
3974 file name. | |
3975 | |
3976 See also documentation for `pr-list-directory'." | |
3977 (interactive (pr-interactive-ps-dir-args (pr-prompt "PS preview dir"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3978 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3979 (pr-prompt "PS preview dir")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3980 (setq filename (pr-ps-file filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3981 (pr-ps-file-list n-up dir file-regexp filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3982 (or pr-spool-p |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3983 (pr-ps-file-preview filename))) |
49646 | 3984 |
3985 | |
3986 ;;;###autoload | |
3987 (defun pr-ps-directory-using-ghostscript (n-up dir file-regexp &optional filename) | |
3988 "Print directory using PostScript through ghostscript. | |
3989 | |
3990 Interactively, the command prompts for N-UP printing number, a directory, a | |
3991 file name regexp for matching and, when you use a prefix argument (C-u), the | |
3992 command prompts the user for a file name, and saves the PostScript image in | |
3993 that file instead of saving it in a temporary file. | |
3994 | |
3995 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
3996 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
3997 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
3998 save the image in a temporary file. If FILENAME is a string, save the | |
3999 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
4000 file name. | |
4001 | |
4002 See also documentation for `pr-list-directory'." | |
4003 (interactive (pr-interactive-ps-dir-args (pr-prompt "PS print dir GS"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4004 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4005 (pr-prompt "PS print dir GS")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4006 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4007 (pr-ps-file-list n-up dir file-regexp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4008 (pr-ps-file-using-ghostscript file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4009 (or filename (pr-delete-file file)))) |
49646 | 4010 |
4011 | |
4012 ;;;###autoload | |
4013 (defun pr-ps-directory-print (n-up dir file-regexp &optional filename) | |
4014 "Print directory using PostScript printer. | |
4015 | |
4016 Interactively, the command prompts for N-UP printing number, a directory, a | |
4017 file name regexp for matching and, when you use a prefix argument (C-u), the | |
4018 command prompts the user for a file name, and saves the PostScript image in | |
4019 that file instead of saving it in a temporary file. | |
4020 | |
4021 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
4022 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
4023 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
4024 save the image in a temporary file. If FILENAME is a string, save the | |
4025 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
4026 file name. | |
4027 | |
4028 See also documentation for `pr-list-directory'." | |
4029 (interactive (pr-interactive-ps-dir-args (pr-prompt "PS print dir"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4030 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4031 (pr-prompt "PS print dir")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4032 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4033 (pr-ps-file-list n-up dir file-regexp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4034 (pr-ps-file-print file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4035 (or filename (pr-delete-file file)))) |
49646 | 4036 |
4037 | |
4038 ;;;###autoload | |
4039 (defun pr-ps-directory-ps-print (n-up dir file-regexp &optional filename) | |
4040 "Print directory using PostScript printer or through ghostscript. | |
4041 | |
4042 It depends on `pr-print-using-ghostscript'. | |
4043 | |
4044 Interactively, the command prompts for N-UP printing number, a directory, a | |
4045 file name regexp for matching and, when you use a prefix argument (C-u), the | |
4046 command prompts the user for a file name, and saves the PostScript image in | |
4047 that file instead of saving it in a temporary file. | |
4048 | |
4049 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
4050 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
4051 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
4052 save the image in a temporary file. If FILENAME is a string, save the | |
4053 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
4054 file name. | |
4055 | |
4056 See also documentation for `pr-list-directory'." | |
4057 (interactive (pr-interactive-ps-dir-args | |
4058 (pr-prompt (pr-prompt-gs "PS print dir")))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4059 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4060 (pr-prompt (pr-prompt-gs "PS print dir"))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4061 (if (pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4062 (pr-ps-directory-using-ghostscript n-up dir file-regexp filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4063 (pr-ps-directory-print n-up dir file-regexp filename))) |
49646 | 4064 |
4065 | |
4066 ;;;###autoload | |
4067 (defun pr-ps-buffer-preview (n-up &optional filename) | |
4068 "Preview buffer using ghostview. | |
4069 | |
4070 Interactively, the command prompts for N-UP printing number and, when you use a | |
4071 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4072 the PostScript image in that file instead of saving it in a temporary file. | |
4073 | |
4074 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4075 argument FILENAME is treated as follows: if it's nil, save the image in a | |
4076 temporary file. If FILENAME is a string, save the PostScript image in a file | |
4077 with that name. If FILENAME is t, prompts for a file name." | |
4078 (interactive (pr-interactive-n-up-file (pr-prompt "PS preview"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4079 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4080 (pr-ps-mode-preview n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4081 (pr-ps-preview (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4082 (pr-region-active-string "PS preview")))) |
49646 | 4083 |
4084 | |
4085 ;;;###autoload | |
4086 (defun pr-ps-buffer-using-ghostscript (n-up &optional filename) | |
4087 "Print buffer using PostScript through ghostscript. | |
4088 | |
4089 Interactively, the command prompts for N-UP printing number and, when you use a | |
4090 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4091 the PostScript image in that file instead of sending it to the printer. | |
4092 | |
4093 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4094 argument FILENAME is treated as follows: if it's nil, send the image to the | |
4095 printer. If FILENAME is a string, save the PostScript image in a file with | |
4096 that name. If FILENAME is t, prompts for a file name." | |
4097 (interactive (pr-interactive-n-up-file (pr-prompt "PS print GS"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4098 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4099 (pr-ps-mode-using-ghostscript n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4100 (pr-ps-using-ghostscript (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4101 (pr-region-active-string "PS print GS")))) |
49646 | 4102 |
4103 | |
4104 ;;;###autoload | |
4105 (defun pr-ps-buffer-print (n-up &optional filename) | |
4106 "Print buffer using PostScript printer. | |
4107 | |
4108 Interactively, the command prompts for N-UP printing number and, when you use a | |
4109 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4110 the PostScript image in that file instead of sending it to the printer. | |
4111 | |
4112 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4113 argument FILENAME is treated as follows: if it's nil, send the image to the | |
4114 printer. If FILENAME is a string, save the PostScript image in a file with | |
4115 that name. If FILENAME is t, prompts for a file name." | |
4116 (interactive (pr-interactive-n-up-file (pr-prompt "PS print"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4117 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4118 (pr-ps-mode-print n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4119 (pr-ps-print (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4120 (pr-region-active-string "PS print")))) |
49646 | 4121 |
4122 | |
4123 ;;;###autoload | |
4124 (defun pr-ps-buffer-ps-print (n-up &optional filename) | |
4125 "Print buffer using PostScript printer or through ghostscript. | |
4126 | |
4127 It depends on `pr-print-using-ghostscript'. | |
4128 | |
4129 Interactively, the command prompts for N-UP printing number and, when you use a | |
4130 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4131 the PostScript image in that file instead of sending it to the printer. | |
4132 | |
4133 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4134 argument FILENAME is treated as follows: if it's nil, send the image to the | |
4135 printer. If FILENAME is a string, save the PostScript image in a file with | |
4136 that name. If FILENAME is t, prompts for a file name." | |
4137 (interactive (pr-interactive-n-up-file | |
4138 (pr-prompt (pr-prompt-gs "PS print")))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4139 (cond ((pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4140 (pr-ps-mode-ps-print n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4141 ((pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4142 (pr-ps-using-ghostscript (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4143 (pr-region-active-string "PS print GS"))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4144 (t |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4145 (pr-ps-print (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4146 (pr-region-active-string "PS print"))))) |
49646 | 4147 |
4148 | |
4149 ;;;###autoload | |
4150 (defun pr-ps-region-preview (n-up &optional filename) | |
4151 "Preview region using ghostview. | |
4152 | |
4153 See also `pr-ps-buffer-preview'." | |
4154 (interactive (pr-interactive-n-up-file (pr-prompt-region "PS preview"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4155 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4156 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4157 (pr-ps-mode-preview n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4158 (pr-ps-preview 'region n-up filename "PS preview region"))) |
49646 | 4159 |
4160 | |
4161 ;;;###autoload | |
4162 (defun pr-ps-region-using-ghostscript (n-up &optional filename) | |
4163 "Print region using PostScript through ghostscript. | |
4164 | |
4165 See also `pr-ps-buffer-using-ghostscript'." | |
4166 (interactive (pr-interactive-n-up-file (pr-prompt-region "PS print GS"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4167 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4168 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4169 (pr-ps-mode-using-ghostscript n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4170 (pr-ps-using-ghostscript 'region n-up filename "PS print GS region"))) |
49646 | 4171 |
4172 | |
4173 ;;;###autoload | |
4174 (defun pr-ps-region-print (n-up &optional filename) | |
4175 "Print region using PostScript printer. | |
4176 | |
4177 See also `pr-ps-buffer-print'." | |
4178 (interactive (pr-interactive-n-up-file (pr-prompt-region "PS print"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4179 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4180 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4181 (pr-ps-mode-print n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4182 (pr-ps-print 'region n-up filename "PS print region"))) |
49646 | 4183 |
4184 | |
4185 ;;;###autoload | |
4186 (defun pr-ps-region-ps-print (n-up &optional filename) | |
4187 "Print region using PostScript printer or through ghostscript. | |
4188 | |
4189 See also `pr-ps-buffer-ps-print'." | |
4190 (interactive (pr-interactive-n-up-file | |
4191 (pr-prompt-region (pr-prompt-gs "PS print")))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4192 (cond ((pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4193 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4194 (pr-ps-mode-ps-print n-up filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4195 ((pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4196 (pr-ps-using-ghostscript 'region n-up filename "PS print GS region")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4197 (t |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4198 (pr-ps-print 'region n-up filename "PS print region")))) |
49646 | 4199 |
4200 | |
4201 ;;;###autoload | |
4202 (defun pr-ps-mode-preview (n-up &optional filename) | |
4203 "Preview major mode using ghostview. | |
4204 | |
4205 See also `pr-ps-buffer-preview'." | |
4206 (interactive (pr-interactive-n-up-file "PS preview mode")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4207 (pr-set-n-up-and-filename 'n-up 'filename "PS preview mode") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4208 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4209 (and (pr-ps-mode n-up file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4210 (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4211 (pr-ps-file-preview file)))) |
49646 | 4212 |
4213 | |
4214 ;;;###autoload | |
4215 (defun pr-ps-mode-using-ghostscript (n-up &optional filename) | |
4216 "Print major mode using PostScript through ghostscript. | |
4217 | |
4218 See also `pr-ps-buffer-using-ghostscript'." | |
4219 (interactive (pr-interactive-n-up-file "PS print GS mode")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4220 (pr-set-n-up-and-filename 'n-up 'filename "PS print GS mode") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4221 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4222 (when (and (pr-ps-mode n-up file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4223 (not pr-spool-p)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4224 (pr-ps-file-using-ghostscript file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4225 (or filename (pr-delete-file file))))) |
49646 | 4226 |
4227 | |
4228 ;;;###autoload | |
4229 (defun pr-ps-mode-print (n-up &optional filename) | |
4230 "Print major mode using PostScript printer. | |
4231 | |
4232 See also `pr-ps-buffer-print'." | |
4233 (interactive (pr-interactive-n-up-file "PS print mode")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4234 (pr-set-n-up-and-filename 'n-up 'filename "PS print mode") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4235 (pr-ps-mode n-up filename)) |
49646 | 4236 |
4237 | |
4238 ;;;###autoload | |
4239 (defun pr-ps-mode-ps-print (n-up &optional filename) | |
4240 "Print major mode using PostScript or through ghostscript. | |
4241 | |
4242 See also `pr-ps-buffer-ps-print'." | |
4243 (interactive (pr-interactive-n-up-file (pr-prompt-gs "PS print mode"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4244 (if (pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4245 (pr-ps-mode-using-ghostscript n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4246 (pr-ps-mode-print n-up filename))) |
49646 | 4247 |
4248 | |
4249 ;;;###autoload | |
4250 (defun pr-printify-directory (&optional dir file-regexp) | |
4251 "Replace nonprinting characters in directory with printable representations. | |
4252 The printable representations use ^ (for ASCII control characters) or hex. | |
4253 The characters tab, linefeed, space, return and formfeed are not affected. | |
4254 | |
4255 Interactively, the command prompts for a directory and a file name regexp for | |
4256 matching. | |
4257 | |
4258 Noninteractively, if DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, | |
4259 prompts for FILE(name)-REGEXP. | |
4260 | |
4261 See also documentation for `pr-list-directory'." | |
4262 (interactive (pr-interactive-dir-args "Printify dir")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4263 (pr-set-dir-args 'dir 'file-regexp "Printify dir") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4264 (pr-file-list dir file-regexp 'pr-printify-buffer)) |
49646 | 4265 |
4266 | |
4267 ;;;###autoload | |
4268 (defun pr-printify-buffer () | |
4269 "Replace nonprinting characters in buffer with printable representations. | |
4270 The printable representations use ^ (for ASCII control characters) or hex. | |
4271 The characters tab, linefeed, space, return and formfeed are not affected." | |
4272 (interactive "*") | |
4273 (if (pr-region-active-p) | |
4274 (pr-printify-region) | |
4275 (printify-region (point-min) (point-max)))) | |
4276 | |
4277 | |
4278 ;;;###autoload | |
4279 (defun pr-printify-region () | |
4280 "Replace nonprinting characters in region with printable representations. | |
4281 The printable representations use ^ (for ASCII control characters) or hex. | |
4282 The characters tab, linefeed, space, return and formfeed are not affected." | |
4283 (interactive "*") | |
4284 (printify-region (point) (mark))) | |
4285 | |
4286 | |
4287 ;;;###autoload | |
4288 (defun pr-txt-directory (&optional dir file-regexp) | |
4289 "Print directory using text printer. | |
4290 | |
4291 Interactively, the command prompts for a directory and a file name regexp for | |
4292 matching. | |
4293 | |
4294 Noninteractively, if DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, | |
4295 prompts for FILE(name)-REGEXP. | |
4296 | |
4297 See also documentation for `pr-list-directory'." | |
4298 (interactive (pr-interactive-dir-args "Print dir")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4299 (pr-set-dir-args 'dir 'file-regexp "Print dir") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4300 (pr-file-list dir file-regexp 'pr-txt-buffer)) |
49646 | 4301 |
4302 | |
4303 ;;;###autoload | |
4304 (defun pr-txt-buffer () | |
4305 "Print buffer using text printer." | |
4306 (interactive) | |
4307 (cond ((pr-auto-mode-p) | |
4308 (pr-txt-mode)) | |
4309 ((pr-region-active-p) | |
4310 (pr-txt-region)) | |
4311 (t | |
4312 (pr-txt-print (point-min) (point-max))))) | |
4313 | |
4314 | |
4315 ;;;###autoload | |
4316 (defun pr-txt-region () | |
4317 "Print region using text printer." | |
4318 (interactive) | |
4319 (if (pr-auto-mode-p) | |
4320 (let ((pr-auto-region t)) | |
4321 (pr-txt-mode)) | |
4322 (pr-txt-print (point) (mark)))) | |
4323 | |
4324 | |
4325 ;;;###autoload | |
4326 (defun pr-txt-mode () | |
4327 "Print major mode using text printer." | |
4328 (interactive) | |
4329 (let ((args (pr-mode-alist-p))) | |
4330 (if args | |
4331 (funcall (car args) (nthcdr 2 args)) | |
4332 (ding) | |
4333 (message "`%s' major mode not declared." major-mode)))) | |
4334 | |
4335 | |
4336 ;;;###autoload | |
4337 (defun pr-despool-preview (&optional filename) | |
4338 "Preview spooled PostScript. | |
4339 | |
4340 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4341 user for a file name, and saves the spooled PostScript image in that file | |
4342 instead of saving it in a temporary file. | |
4343 | |
4344 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4345 save the image in a temporary file. If FILENAME is a string, save the | |
4346 PostScript image in a file with that name." | |
4347 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4348 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4349 (when (stringp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4350 (pr-despool-print file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4351 (pr-ps-file-preview file)))) |
49646 | 4352 |
4353 | |
4354 ;;;###autoload | |
4355 (defun pr-despool-using-ghostscript (&optional filename) | |
4356 "Print spooled PostScript using ghostscript. | |
4357 | |
4358 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4359 user for a file name, and saves the spooled PostScript image in that file | |
4360 instead of sending it to the printer. | |
4361 | |
4362 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4363 send the image to the printer. If FILENAME is a string, save the PostScript | |
4364 image in a file with that name." | |
4365 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4366 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4367 (when (stringp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4368 (pr-despool-print file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4369 (pr-ps-file-using-ghostscript file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4370 (or filename (pr-delete-file file))))) |
49646 | 4371 |
4372 | |
4373 ;;;###autoload | |
4374 (defun pr-despool-print (&optional filename) | |
4375 "Send the spooled PostScript to the printer. | |
4376 | |
4377 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4378 user for a file name, and saves the spooled PostScript image in that file | |
4379 instead of sending it to the printer. | |
4380 | |
4381 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4382 send the image to the printer. If FILENAME is a string, save the PostScript | |
4383 image in a file with that name." | |
4384 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4385 (pr-save-file-modes |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4386 (let ((ps-lpr-command (pr-command pr-ps-command)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4387 (ps-lpr-switches pr-ps-switches) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4388 (ps-printer-name-option pr-ps-printer-switch) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4389 (ps-printer-name pr-ps-printer)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4390 (ps-despool filename)))) |
49646 | 4391 |
4392 | |
4393 ;;;###autoload | |
4394 (defun pr-despool-ps-print (&optional filename) | |
4395 "Send the spooled PostScript to the printer or use ghostscript to print it. | |
4396 | |
4397 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4398 user for a file name, and saves the spooled PostScript image in that file | |
4399 instead of sending it to the printer. | |
4400 | |
4401 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4402 send the image to the printer. If FILENAME is a string, save the PostScript | |
4403 image in a file with that name." | |
4404 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4405 (if pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4406 (pr-despool-using-ghostscript filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4407 (pr-despool-print filename))) |
49646 | 4408 |
4409 | |
4410 ;;;###autoload | |
4411 (defun pr-ps-file-preview (filename) | |
4412 "Preview PostScript file FILENAME." | |
4413 (interactive (list (pr-ps-infile-preprint "Preview "))) | |
4414 (and (stringp filename) (file-exists-p filename) | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4415 (pr-call-process pr-gv-command filename))) |
49646 | 4416 |
4417 | |
4418 ;;;###autoload | |
4419 (defun pr-ps-file-up-preview (n-up ifilename &optional ofilename) | |
4420 "Preview PostScript file FILENAME." | |
4421 (interactive (pr-interactive-n-up-inout "PS preview")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4422 (let ((outfile (pr-ps-utility-args 'n-up 'ifilename 'ofilename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4423 "PS preview "))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4424 (pr-ps-utility-process n-up ifilename outfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4425 (pr-ps-file-preview outfile))) |
49646 | 4426 |
4427 | |
4428 ;;;###autoload | |
4429 (defun pr-ps-file-using-ghostscript (filename) | |
4430 "Print PostScript file FILENAME using ghostscript." | |
4431 (interactive (list (pr-ps-infile-preprint "Print preview "))) | |
4432 (and (stringp filename) (file-exists-p filename) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4433 (let* ((file (pr-expand-file-name filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4434 (tempfile (pr-dosify-file-name (make-temp-file file)))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4435 ;; gs use |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4436 (pr-call-process pr-gs-command |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4437 (format "-sDEVICE=%s" pr-gs-device) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4438 (format "-r%d" pr-gs-resolution) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4439 (pr-switches-string pr-gs-switches "pr-gs-switches") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4440 (format "-sOutputFile=\"%s\"" tempfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4441 file |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4442 "-c quit") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4443 ;; printing |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4444 (pr-ps-file-print tempfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4445 ;; deleting |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4446 (pr-delete-file tempfile)))) |
49646 | 4447 |
4448 | |
4449 ;;;###autoload | |
4450 (defun pr-ps-file-print (filename) | |
4451 "Print PostScript file FILENAME." | |
4452 (interactive (list (pr-ps-infile-preprint "Print "))) | |
4453 (and (stringp filename) (file-exists-p filename) | |
4454 ;; printing | |
4455 (let ((file (pr-expand-file-name filename))) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4456 (if (string= pr-ps-command "") |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
4457 ;; default action |
49646 | 4458 (let ((ps-spool-buffer (get-buffer-create ps-spool-buffer-name))) |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
4459 (with-current-buffer ps-spool-buffer |
49646 | 4460 (erase-buffer) |
4461 (insert-file-contents-literally file)) | |
4462 (pr-despool-print)) | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
4463 ;; use `pr-ps-command' to print |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4464 (apply 'pr-call-process |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4465 pr-ps-command |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
4466 (pr-switches-string pr-ps-switches "pr-ps-switches") |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4467 (if (string-match "cp" pr-ps-command) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4468 ;; for "cp" (cmd in out) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4469 (list file |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4470 (concat pr-ps-printer-switch pr-ps-printer)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4471 ;; else, for others (cmd out in) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4472 (list (concat pr-ps-printer-switch pr-ps-printer) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4473 file))))))) |
49646 | 4474 |
4475 | |
4476 ;;;###autoload | |
4477 (defun pr-ps-file-ps-print (filename) | |
4478 "Send PostScript file FILENAME to printer or use ghostscript to print it." | |
4479 (interactive (list (pr-ps-infile-preprint | |
4480 (if pr-print-using-ghostscript | |
4481 "Print preview " | |
4482 "Print ")))) | |
4483 (if pr-print-using-ghostscript | |
4484 (pr-ps-file-using-ghostscript filename) | |
4485 (pr-ps-file-print filename))) | |
4486 | |
4487 | |
4488 ;;;###autoload | |
4489 (defun pr-ps-file-up-ps-print (n-up ifilename &optional ofilename) | |
4490 "Process a PostScript file IFILENAME and send it to printer. | |
4491 | |
4492 Interactively, the command prompts for N-UP printing number, for an input | |
4493 PostScript file IFILENAME and, when you use a prefix argument (C-u), the | |
4494 command prompts the user for an output PostScript file name OFILENAME, and | |
4495 saves the PostScript image in that file instead of sending it to the printer. | |
4496 | |
4497 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4498 argument IFILENAME is treated as follows: if it's t, prompts for an input | |
4499 PostScript file name; otherwise, it *must* be a string that it's an input | |
4500 PostScript file name. The argument OFILENAME is treated as follows: if it's | |
4501 nil, send the image to the printer. If OFILENAME is a string, save the | |
4502 PostScript image in a file with that name. If OFILENAME is t, prompts for a | |
4503 file name." | |
4504 (interactive (pr-interactive-n-up-inout | |
4505 (if pr-print-using-ghostscript | |
4506 "PS print GS" | |
4507 "PS print"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4508 (let ((outfile (pr-ps-utility-args 'n-up 'ifilename 'ofilename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4509 (if pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4510 "PS print GS " |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4511 "PS print ")))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4512 (pr-ps-utility-process n-up ifilename outfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4513 (unless ofilename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4514 (pr-ps-file-ps-print outfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4515 (pr-delete-file outfile)))) |
49646 | 4516 |
4517 | |
4518 ;;;###autoload | |
4519 (defun pr-toggle-file-duplex () | |
4520 "Toggle duplex for PostScript file." | |
4521 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4522 (pr-toggle-file-duplex-menu t)) |
49646 | 4523 |
4524 | |
4525 ;;;###autoload | |
4526 (defun pr-toggle-file-tumble () | |
4527 "Toggle tumble for PostScript file. | |
4528 | |
4529 If tumble is off, produces a printing suitable for binding on the left or | |
4530 right. | |
4531 If tumble is on, produces a printing suitable for binding at the top or | |
4532 bottom." | |
4533 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4534 (pr-toggle-file-tumble-menu t)) |
49646 | 4535 |
4536 | |
4537 ;;;###autoload | |
4538 (defun pr-toggle-file-landscape () | |
4539 "Toggle landscape for PostScript file." | |
4540 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4541 (pr-toggle-file-landscape-menu t)) |
49646 | 4542 |
4543 | |
4544 ;;;###autoload | |
4545 (defun pr-toggle-ghostscript () | |
4546 "Toggle printing using ghostscript." | |
4547 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4548 (pr-toggle-ghostscript-menu t)) |
49646 | 4549 |
4550 | |
4551 ;;;###autoload | |
4552 (defun pr-toggle-faces () | |
4553 "Toggle printing with faces." | |
4554 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4555 (pr-toggle-faces-menu t)) |
49646 | 4556 |
4557 | |
4558 ;;;###autoload | |
4559 (defun pr-toggle-spool () | |
4560 "Toggle spooling." | |
4561 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4562 (pr-toggle-spool-menu t)) |
49646 | 4563 |
4564 | |
4565 ;;;###autoload | |
4566 (defun pr-toggle-duplex () | |
4567 "Toggle duplex." | |
4568 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4569 (pr-toggle-duplex-menu t)) |
49646 | 4570 |
4571 | |
4572 ;;;###autoload | |
4573 (defun pr-toggle-tumble () | |
4574 "Toggle tumble. | |
4575 | |
4576 If tumble is off, produces a printing suitable for binding on the left or | |
4577 right. | |
4578 If tumble is on, produces a printing suitable for binding at the top or | |
4579 bottom." | |
4580 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4581 (pr-toggle-tumble-menu t)) |
49646 | 4582 |
4583 | |
4584 ;;;###autoload | |
4585 (defun pr-toggle-landscape () | |
4586 "Toggle landscape." | |
4587 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4588 (pr-toggle-landscape-menu t)) |
49646 | 4589 |
4590 | |
4591 ;;;###autoload | |
4592 (defun pr-toggle-upside-down () | |
4593 "Toggle upside-down." | |
4594 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4595 (pr-toggle-upside-down-menu t)) |
49646 | 4596 |
4597 | |
4598 ;;;###autoload | |
4599 (defun pr-toggle-line () | |
4600 "Toggle line number." | |
4601 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4602 (pr-toggle-line-menu t)) |
49646 | 4603 |
4604 | |
4605 ;;;###autoload | |
4606 (defun pr-toggle-zebra () | |
4607 "Toggle zebra stripes." | |
4608 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4609 (pr-toggle-zebra-menu t)) |
49646 | 4610 |
4611 | |
4612 ;;;###autoload | |
4613 (defun pr-toggle-header () | |
4614 "Toggle printing header." | |
4615 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4616 (pr-toggle-header-menu t)) |
49646 | 4617 |
4618 | |
4619 ;;;###autoload | |
4620 (defun pr-toggle-header-frame () | |
4621 "Toggle printing header frame." | |
4622 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4623 (pr-toggle-header-frame-menu t)) |
49646 | 4624 |
4625 | |
4626 ;;;###autoload | |
4627 (defun pr-toggle-lock () | |
4628 "Toggle menu lock." | |
4629 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4630 (pr-toggle-lock-menu t)) |
49646 | 4631 |
4632 | |
4633 ;;;###autoload | |
4634 (defun pr-toggle-region () | |
4635 "Toggle auto region." | |
4636 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4637 (pr-toggle-region-menu t)) |
49646 | 4638 |
4639 | |
4640 ;;;###autoload | |
4641 (defun pr-toggle-mode () | |
4642 "Toggle auto mode." | |
4643 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4644 (pr-toggle-mode-menu t)) |
49646 | 4645 |
4646 | |
4647 ;;;###autoload | |
4648 (defun pr-customize (&rest ignore) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4649 "Customization of the `printing' group." |
49646 | 4650 (interactive) |
4651 (customize-group 'printing)) | |
4652 | |
4653 | |
4654 ;;;###autoload | |
4655 (defun lpr-customize (&rest ignore) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4656 "Customization of the `lpr' group." |
49646 | 4657 (interactive) |
4658 (customize-group 'lpr)) | |
4659 | |
4660 | |
4661 ;;;###autoload | |
4662 (defun pr-help (&rest ignore) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4663 "Help for the printing package." |
49646 | 4664 (interactive) |
4665 (pr-show-setup pr-help-message "*Printing Help*")) | |
4666 | |
4667 | |
4668 ;;;###autoload | |
4669 (defun pr-ps-name () | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4670 "Interactively select a PostScript printer." |
49646 | 4671 (interactive) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4672 (pr-menu-set-ps-title |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4673 (pr-complete-alist "PostScript printer" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4674 pr-ps-printer-alist pr-ps-name))) |
49646 | 4675 |
4676 | |
4677 ;;;###autoload | |
4678 (defun pr-txt-name () | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4679 "Interactively select a text printer." |
49646 | 4680 (interactive) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4681 (pr-menu-set-txt-title |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4682 (pr-complete-alist "Text printer" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4683 pr-txt-printer-alist pr-txt-name))) |
49646 | 4684 |
4685 | |
4686 ;;;###autoload | |
4687 (defun pr-ps-utility () | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4688 "Interactively select a PostScript utility." |
49646 | 4689 (interactive) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4690 (pr-menu-set-utility-title |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4691 (pr-complete-alist "Postscript utility" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4692 pr-ps-utility-alist pr-ps-utility))) |
49646 | 4693 |
4694 | |
4695 ;;;###autoload | |
4696 (defun pr-show-ps-setup (&rest ignore) | |
4697 "Show current ps-print settings." | |
4698 (interactive) | |
4699 (pr-show-setup (ps-setup) "*PS Setup*")) | |
4700 | |
4701 | |
4702 ;;;###autoload | |
4703 (defun pr-show-pr-setup (&rest ignore) | |
4704 "Show current printing settings." | |
4705 (interactive) | |
4706 (pr-show-setup (pr-setup) "*PR Setup*")) | |
4707 | |
4708 | |
4709 ;;;###autoload | |
4710 (defun pr-show-lpr-setup (&rest ignore) | |
4711 "Show current lpr settings." | |
4712 (interactive) | |
4713 (pr-show-setup (lpr-setup) "*LPR Setup*")) | |
4714 | |
4715 | |
4716 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
4717 ;; Fast Commands | |
4718 | |
4719 | |
4720 ;;;###autoload | |
4721 (defun pr-ps-fast-fire (n-up &optional select) | |
4722 "Fast fire function for PostScript printing. | |
4723 | |
4724 If a region is active, the region will be printed instead of the whole buffer. | |
4725 Also if the current major-mode is defined in `pr-mode-alist', the settings in | |
4726 `pr-mode-alist' will be used, that is, the current buffer or region will be | |
4727 printed using `pr-ps-mode-ps-print'. | |
4728 | |
4729 | |
4730 Interactively, you have the following situations: | |
4731 | |
4732 M-x pr-ps-fast-fire RET | |
4733 The command prompts the user for a N-UP value and printing will | |
4734 immediatelly be done using the current active printer. | |
4735 | |
4736 C-u M-x pr-ps-fast-fire RET | |
4737 C-u 0 M-x pr-ps-fast-fire RET | |
4738 The command prompts the user for a N-UP value and also for a current | |
4739 PostScript printer, then printing will immediatelly be done using the new | |
4740 current active printer. | |
4741 | |
4742 C-u 1 M-x pr-ps-fast-fire RET | |
4743 The command prompts the user for a N-UP value and also for a file name, | |
4744 and saves the PostScript image in that file instead of sending it to the | |
4745 printer. | |
4746 | |
4747 C-u 2 M-x pr-ps-fast-fire RET | |
4748 The command prompts the user for a N-UP value, then for a current | |
4749 PostScript printer and, finally, for a file name. Then change the active | |
77718
1142d0b0c510
(pr-ps-fast-fire): Fix typos in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
75712
diff
changeset
|
4750 printer to that chosen by user and saves the PostScript image in |
49646 | 4751 that file instead of sending it to the printer. |
4752 | |
4753 | |
4754 Noninteractively, the argument N-UP should be a positive integer greater than | |
4755 zero and the argument SELECT is treated as follows: | |
4756 | |
4757 If it's nil, send the image to the printer. | |
4758 | |
4759 If it's a list or an integer lesser or equal to zero, the command prompts | |
4760 the user for a current PostScript printer, then printing will immediatelly | |
4761 be done using the new current active printer. | |
4762 | |
4763 If it's an integer equal to 1, the command prompts the user for a file name | |
4764 and saves the PostScript image in that file instead of sending it to the | |
4765 printer. | |
4766 | |
4767 If it's an integer greater or equal to 2, the command prompts the user for a | |
4768 current PostScript printer and for a file name. Then change the active | |
77718
1142d0b0c510
(pr-ps-fast-fire): Fix typos in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
75712
diff
changeset
|
4769 printer to that chosen by user and saves the PostScript image in that file |
49646 | 4770 instead of sending it to the printer. |
4771 | |
4772 If it's a symbol which it's defined in `pr-ps-printer-alist', it's the new | |
4773 active printer and printing will immediatelly be done using the new active | |
4774 printer. | |
4775 | |
4776 Otherwise, send the image to the printer. | |
4777 | |
4778 | |
4779 Note that this command always behaves as if `pr-auto-region' and `pr-auto-mode' | |
4780 are both set to t." | |
4781 (interactive (list (pr-interactive-n-up (pr-prompt-gs "PS print fast")) | |
4782 current-prefix-arg)) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4783 (let ((pr-auto-region t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4784 (pr-auto-mode t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4785 filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4786 (cond ((null select)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4787 ((listp select) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4788 (pr-ps-name)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4789 ((and (symbolp select) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4790 (assq select pr-ps-printer-alist)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4791 (pr-menu-set-ps-title select)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4792 ((integerp select) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4793 (and (/= select 1) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4794 (pr-ps-name)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4795 (and (>= select 1) (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4796 (setq filename (pr-ps-outfile-preprint |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4797 (if pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4798 "Fast GS " |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4799 "Fast ")))))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4800 (pr-ps-buffer-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4801 (if (integerp n-up) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4802 (min (max n-up 1) 100) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4803 (error "n-up must be an integer greater than zero")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4804 filename))) |
49646 | 4805 |
4806 | |
4807 ;;;###autoload | |
4808 (defun pr-txt-fast-fire (&optional select-printer) | |
4809 "Fast fire function for text printing. | |
4810 | |
4811 If a region is active, the region will be printed instead of the whole buffer. | |
4812 Also if the current major-mode is defined in `pr-mode-alist', the settings in | |
4813 `pr-mode-alist' will be used, that is, the current buffer or region will be | |
4814 printed using `pr-txt-mode'. | |
4815 | |
4816 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4817 user for a new active text printer. | |
4818 | |
4819 Noninteractively, the argument SELECT-PRINTER is treated as follows: | |
4820 | |
4821 If it's nil, the printing is sent to the current active text printer. | |
4822 | |
4823 If it's a symbol which it's defined in `pr-txt-printer-alist', it's the new | |
4824 active printer and printing will immediatelly be done using the new active | |
4825 printer. | |
4826 | |
4827 If it's non-nil, the command prompts the user for a new active text printer. | |
4828 | |
4829 Note that this command always behaves as if `pr-auto-region' and `pr-auto-mode' | |
4830 are both set to t." | |
4831 (interactive (list current-prefix-arg)) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4832 (cond ((null select-printer)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4833 ((and (symbolp select-printer) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4834 (assq select-printer pr-txt-printer-alist)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4835 (pr-menu-set-txt-title select-printer)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4836 (t |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4837 (pr-txt-name))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4838 (let ((pr-auto-region t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4839 (pr-auto-mode t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4840 (pr-txt-buffer))) |
49646 | 4841 |
4842 | |
4843 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
4844 ;; Utilities | |
4845 | |
4846 | |
4847 (defun pr-setup () | |
4848 "Return the current `printing' setup. | |
4849 | |
4850 This is *not* an interactive command. | |
4851 One way to see `printing' setup is to switch to a *Scratch* buffer and type: | |
4852 | |
4853 M-: (insert (pr-setup)) RET | |
4854 | |
4855 Or choose the menu option Printing/Show Settings/printing." | |
4856 (let (ps-prefix-quote) | |
4857 (mapconcat | |
4858 #'ps-print-quote | |
4859 (list | |
4860 (concat "\n;;; printing.el version " pr-version "\n") | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4861 ";; internal vars" |
58408
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4862 (ps-comment-string "emacs-version " emacs-version) |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4863 (ps-comment-string "pr-txt-command " pr-txt-command) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4864 (ps-comment-string "pr-txt-switches " |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4865 (pr-switches-string pr-txt-switches "pr-txt-switches")) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4866 (ps-comment-string "pr-txt-printer " pr-txt-printer) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4867 (ps-comment-string "pr-ps-command " pr-ps-command) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4868 (ps-comment-string "pr-ps-switches " |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4869 (pr-switches-string pr-ps-switches "pr-ps-switches")) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4870 (ps-comment-string "pr-ps-printer-switch" pr-ps-printer-switch) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4871 (ps-comment-string "pr-ps-printer " pr-ps-printer) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4872 (ps-comment-string "pr-cygwin-system " pr-cygwin-system) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4873 (ps-comment-string "ps-windows-system " ps-windows-system) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4874 (ps-comment-string "ps-lp-system " ps-lp-system) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4875 nil |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4876 '(14 . pr-path-style) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4877 '(14 . pr-path-alist) |
49646 | 4878 nil |
4879 '(21 . pr-txt-name) | |
4880 '(21 . pr-txt-printer-alist) | |
4881 nil | |
4882 '(20 . pr-ps-name) | |
4883 '(20 . pr-ps-printer-alist) | |
4884 nil | |
4885 '(20 . pr-temp-dir) | |
4886 '(20 . pr-ps-temp-file) | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
4887 '(20 . pr-file-modes) |
49646 | 4888 '(20 . pr-delete-temp-file) |
4889 '(20 . pr-list-directory) | |
4890 nil | |
4891 '(17 . pr-gv-command) | |
4892 '(17 . pr-gs-command) | |
4893 '(17 . pr-gs-switches) | |
4894 '(17 . pr-gs-device) | |
4895 '(17 . pr-gs-resolution) | |
4896 nil | |
4897 '(27 . pr-print-using-ghostscript) | |
4898 '(27 . pr-faces-p) | |
4899 '(27 . pr-spool-p) | |
4900 '(27 . pr-file-landscape) | |
4901 '(27 . pr-file-duplex) | |
4902 '(27 . pr-file-tumble) | |
4903 '(27 . pr-auto-region) | |
4904 '(27 . pr-auto-mode) | |
4905 nil | |
4906 '(20 . pr-ps-utility) | |
4907 '(20 . pr-ps-utility-alist) | |
4908 nil | |
4909 '(14 . pr-mode-alist) | |
4910 nil | |
4911 '(20 . pr-menu-lock) | |
4912 '(20 . pr-menu-char-height) | |
4913 '(20 . pr-menu-char-width) | |
4914 nil | |
4915 '(20 . pr-setting-database) | |
4916 nil | |
4917 '(22 . pr-visible-entry-list) | |
4918 nil | |
4919 '(22 . pr-buffer-verbose) | |
4920 '(22 . pr-buffer-name) | |
4921 '(22 . pr-buffer-name-ignore) | |
4922 ")\n\n;;; printing.el - end of settings\n") | |
4923 "\n"))) | |
4924 | |
4925 | |
4926 (defun lpr-setup () | |
4927 "Return the current `lpr' setup. | |
4928 | |
4929 This is *not* an interactive command. | |
4930 One way to see `lpr' setup is to switch to a *Scratch* buffer and type: | |
4931 | |
4932 M-: (insert (lpr-setup)) RET | |
4933 | |
4934 Or choose the menu option Printing/Show Settings/lpr." | |
4935 (let (ps-prefix-quote) | |
4936 (mapconcat | |
4937 #'ps-print-quote | |
58408
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4938 (list |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4939 "\n;;; lpr.el settings\n" |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4940 (ps-comment-string "emacs-version" emacs-version) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4941 nil |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4942 '(25 . printer-name) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4943 '(25 . lpr-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4944 '(25 . lpr-add-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4945 '(25 . lpr-command) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4946 '(25 . lpr-headers-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4947 '(25 . print-region-function) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4948 '(25 . lpr-page-header-program) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4949 '(25 . lpr-page-header-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4950 ")\n\n;;; lpr.el - end of settings\n") |
49646 | 4951 "\n"))) |
4952 | |
4953 | |
4954 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
4955 ;; mh-e (adapted from mh-e-init.el -- Tom Vogels <tov@ece.cmu.edu>) | |
4956 | |
103999
d41cacce5657
(pr-mh-get-msg-num, pr-mh-show)
Glenn Morris <rgm@gnu.org>
parents:
100908
diff
changeset
|
4957 (declare-function mh-get-msg-num "mh-utils" (error-if-no-message)) |
d41cacce5657
(pr-mh-get-msg-num, pr-mh-show)
Glenn Morris <rgm@gnu.org>
parents:
100908
diff
changeset
|
4958 (declare-function mh-show "mh-show" (&optional message redisplay-flag)) |
d41cacce5657
(pr-mh-get-msg-num, pr-mh-show)
Glenn Morris <rgm@gnu.org>
parents:
100908
diff
changeset
|
4959 (declare-function mh-start-of-uncleaned-message "mh-show" ()) |
d41cacce5657
(pr-mh-get-msg-num, pr-mh-show)
Glenn Morris <rgm@gnu.org>
parents:
100908
diff
changeset
|
4960 (defvar mh-show-buffer) |
49646 | 4961 |
4962 | |
4963 (defun pr-article-date () | |
4964 "Find the date of an article or mail message in current buffer. | |
4965 Return only the dayname, if present, weekday, month, and year." | |
4966 (save-excursion | |
4967 (goto-char (point-min)) | |
4968 (if (re-search-forward | |
4969 "^Date:[ \t]+\\(\\([A-Za-z]+, \\)?[0-9]+ [A-Za-z]+ [0-9]+\\)" nil t) | |
4970 (buffer-substring (match-beginning 1) (match-end 1)) | |
4971 (format-time-string "%Y/%m/%d")))) | |
4972 | |
4973 | |
4974 (defun pr-mh-current-message () | |
4975 "Go to mh-inbox current message." | |
103999
d41cacce5657
(pr-mh-get-msg-num, pr-mh-show)
Glenn Morris <rgm@gnu.org>
parents:
100908
diff
changeset
|
4976 (let ((msg (or (mh-get-msg-num nil) 0))) |
d41cacce5657
(pr-mh-get-msg-num, pr-mh-show)
Glenn Morris <rgm@gnu.org>
parents:
100908
diff
changeset
|
4977 (mh-show) |
49646 | 4978 (set-buffer mh-show-buffer) |
4979 (goto-char (point-min)) | |
103999
d41cacce5657
(pr-mh-get-msg-num, pr-mh-show)
Glenn Morris <rgm@gnu.org>
parents:
100908
diff
changeset
|
4980 (mh-start-of-uncleaned-message) |
49646 | 4981 (message "Printing message %d" msg))) |
4982 | |
4983 | |
4984 (defun pr-mh-print-1 (n-up filename header-list) | |
4985 "Print mh-inbox current message in PostScript." | |
4986 (save-excursion | |
4987 (save-window-excursion | |
4988 (pr-mh-current-message) | |
4989 (pr-mode-print n-up filename header-list (point))))) | |
4990 | |
4991 | |
4992 (defun pr-mh-lpr-1 (header-list) | |
4993 "Print mh-inbox current message in text printer." | |
4994 (save-excursion | |
4995 (save-window-excursion | |
4996 (pr-mh-current-message) | |
4997 (pr-mode-lpr header-list (point))))) | |
4998 | |
4999 | |
5000 (defalias 'pr-mh-print-2 'pr-mode-print) | |
5001 | |
5002 | |
5003 (defalias 'pr-mh-lpr-2 'pr-mode-lpr) | |
5004 | |
5005 | |
5006 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5007 ;; rmail (hacked from ps-print.el) | |
5008 | |
5009 | |
5010 (defun pr-rmail-lpr (header-list) | |
5011 "Print RMAIL current message in text printer." | |
5012 (pr-lpr-message-from-summary header-list | |
5013 'rmail-buffer 'rmail-summary-buffer)) | |
5014 | |
5015 | |
5016 (defun pr-rmail-print (n-up filename header-list) | |
5017 "Print RMAIL current message in PostScript." | |
5018 (pr-ps-message-from-summary n-up filename header-list | |
5019 'rmail-buffer 'rmail-summary-buffer)) | |
5020 | |
5021 | |
5022 (defun pr-ps-message-from-summary (n-up filename header-list | |
5023 summary-buffer summary-default) | |
5024 "Print current message in PostScript." | |
5025 (let ((buf (or (and (boundp summary-buffer) | |
5026 (symbol-value summary-buffer)) | |
5027 (symbol-value summary-default)))) | |
5028 (and (get-buffer buf) | |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
5029 (with-current-buffer buf |
49646 | 5030 (pr-mode-print n-up filename header-list))))) |
5031 | |
5032 | |
5033 (defun pr-lpr-message-from-summary (header-list summary-buffer summary-default) | |
5034 "Print current message in text printer." | |
5035 (let ((buf (or (and (boundp summary-buffer) | |
5036 (symbol-value summary-buffer)) | |
5037 (symbol-value summary-default)))) | |
5038 (and (get-buffer buf) | |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
5039 (with-current-buffer buf |
49646 | 5040 (pr-mode-lpr header-list))))) |
5041 | |
5042 | |
5043 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5044 ;; gnus (hacked from ps-print.el) | |
5045 | |
5046 | |
5047 (defvar pr-gnus-article "*Article*") | |
5048 | |
5049 | |
5050 (defun pr-gnus-print (n-up filename header-list) | |
5051 "Print *Article* current message in PostScript." | |
5052 (pr-ps-message-from-summary n-up filename header-list | |
5053 'gnus-article-buffer 'pr-gnus-article)) | |
5054 | |
5055 | |
5056 (defun pr-gnus-lpr (header-list) | |
5057 "Print *Article* current message in text printer." | |
5058 (pr-lpr-message-from-summary header-list | |
5059 'gnus-article-buffer 'pr-gnus-article)) | |
5060 | |
5061 | |
5062 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5063 ;; vm (hacked from ps-print.el) | |
5064 | |
5065 | |
5066 (defvar pr-vm-summary "") | |
5067 | |
5068 | |
5069 (defun pr-vm-print (n-up filename header-list) | |
5070 "Print current vm message in PostScript." | |
5071 (pr-ps-message-from-summary n-up filename header-list | |
5072 'vm-mail-buffer 'pr-vm-summary)) | |
5073 | |
5074 | |
5075 (defun pr-vm-lpr (header-list) | |
5076 "Print current vm message in text printer." | |
5077 (pr-lpr-message-from-summary header-list | |
5078 'vm-mail-buffer 'pr-vm-summary)) | |
5079 | |
5080 | |
5081 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5082 ;; Mode Functions | |
5083 | |
5084 | |
5085 (defun pr-ps-mode (n-up filename) | |
5086 "If current major mode is declared, print it in PostScript." | |
5087 (let ((args (pr-mode-alist-p))) | |
5088 (if args | |
5089 (let ((fun (cdr args))) | |
5090 (funcall (car fun) n-up filename (cdr fun)) | |
5091 t) | |
5092 (ding) | |
5093 (message "`%s' major mode not declared." major-mode) | |
5094 nil))) | |
5095 | |
5096 | |
5097 (defmacro pr-local-variable (header-list &rest body) | |
5098 `(save-excursion | |
5099 (let ((ps-header-lines (or (nth 0 ,header-list) ps-header-lines)) | |
5100 (ps-left-header (or (nth 1 ,header-list) ps-left-header)) | |
5101 (ps-right-header (or (nth 2 ,header-list) ps-right-header)) | |
5102 ps-razzle-dazzle) | |
5103 (let ((local-var-list (pr-eval-local-alist (nthcdr 4 ,header-list)))) | |
5104 ,@body | |
5105 (and (nth 3 ,header-list) | |
5106 (pr-kill-local-variable local-var-list)))))) | |
5107 | |
5108 | |
5109 (defun pr-mode-print (n-up filename header-list &optional from to) | |
5110 "Print current major mode in PostScript." | |
5111 (pr-local-variable | |
5112 header-list | |
5113 (let ((file (pr-ps-file filename)) | |
5114 (start (cond (from) | |
5115 ((pr-region-active-p) (region-beginning)) | |
5116 (t nil) | |
5117 ))) | |
5118 (pr-text2ps (pr-region-active-symbol start) n-up file start | |
5119 (cond (to) | |
5120 ((pr-region-active-p) (region-end)) | |
5121 (from (point-max)) | |
5122 )) | |
5123 (unless (or pr-spool-p filename) | |
5124 (pr-ps-file-print file) | |
5125 (pr-delete-file file))))) | |
5126 | |
5127 | |
5128 (defun pr-mode-lpr (header-list &optional from to) | |
5129 "Print current major mode in text printer." | |
5130 (pr-local-variable | |
5131 header-list | |
5132 (pr-txt-print (cond (from) | |
5133 ((pr-region-active-p) (region-beginning)) | |
5134 (t (point-min))) | |
5135 (cond (to) | |
5136 ((pr-region-active-p) (region-end)) | |
5137 (t (point-max)))))) | |
5138 | |
5139 | |
5140 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5141 ;; Menu Lock | |
5142 | |
5143 | |
5144 (defconst pr-menu-entry-alist | |
5145 '((postscript . 3) | |
5146 (text . 3) | |
5147 (postscript-options . 9) | |
5148 (postscript-process . 3) | |
5149 (printing . 3) | |
5150 (help . 3) | |
5151 ) | |
5152 "Alist that associates menu part with number of items per part. | |
5153 | |
5154 It's used by `pr-menu-index'. | |
5155 | |
5156 Each element has the form: | |
5157 | |
5158 (MENU-PART . NUMBER-OF-ITEMS) | |
5159 | |
5160 See `pr-visible-entry-alist'.") | |
5161 | |
5162 | |
5163 (defun pr-menu-index (entry index) | |
5164 (let ((base-list | |
5165 (cond ((eq entry 'text) | |
5166 '(postscript)) | |
5167 ((eq entry 'postscript-options) | |
5168 '(postscript text)) | |
5169 ((eq entry 'postscript-process) | |
5170 '(postscript text postscript-options)) | |
5171 ((eq entry 'printing) | |
5172 '(postscript text postscript-options postscript-process)) | |
5173 (t | |
5174 nil) | |
5175 )) | |
5176 key) | |
5177 (while base-list | |
5178 (setq key (car base-list) | |
5179 base-list (cdr base-list)) | |
5180 (and (pr-visible-p key) | |
5181 (setq index (+ index | |
5182 (cdr (assq key pr-menu-entry-alist))))))) | |
5183 (+ index 2)) | |
5184 | |
5185 | |
5186 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5187 ;; Printer & Utility Selection | |
5188 | |
5189 | |
5190 (defun pr-update-var (var-sym alist) | |
5191 (or (assq (symbol-value var-sym) alist) | |
5192 (set var-sym (car (car alist))))) | |
5193 | |
5194 | |
5195 (defun pr-update-menus (&optional force) | |
5196 "Update utility, PostScript and text printer menus. | |
5197 | |
5198 If FORCE is non-nil, update menus doesn't matter if `pr-ps-printer-alist', | |
5199 `pr-txt-printer-alist' or `pr-ps-utility-alist' were modified or not; | |
78492
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78433
diff
changeset
|
5200 otherwise, update PostScript printer menu if `pr-ps-printer-menu-modified' is |
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78433
diff
changeset
|
5201 non-nil, update text printer menu if `pr-txt-printer-menu-modified' is |
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78433
diff
changeset
|
5202 non-nil, and update PostScript File menus if `pr-ps-utility-menu-modified' is |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5203 non-nil. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5204 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5205 If menu binding was not done, calls `pr-menu-bind'." |
54621
14d929e67a70
Modify interactive declaration.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54333
diff
changeset
|
5206 (interactive "P") |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5207 (if pr-menu-print-item ; since v6.8.4 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5208 ;; There was no menu binding yet, so do it now! |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5209 ;; This is a hack to be compatible with old versions of printing. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5210 ;; So, user does not need to change printing calling in init files. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5211 (pr-menu-bind) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5212 ;; Here menu binding is ok. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5213 (pr-update-var 'pr-ps-name pr-ps-printer-alist) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5214 (pr-update-var 'pr-txt-name pr-txt-printer-alist) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5215 (pr-update-var 'pr-ps-utility pr-ps-utility-alist) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5216 (pr-do-update-menus force))) |
49646 | 5217 |
5218 | |
5219 (defun pr-menu-create (name alist var-sym fun entry index) | |
5220 (cons name | |
5221 (mapcar | |
5222 #'(lambda (elt) | |
5223 (let ((sym (car elt))) | |
5224 (vector | |
5225 (symbol-name sym) | |
5226 (list fun (list 'quote sym) nil (list 'quote entry) index) | |
5227 :style 'radio | |
5228 :selected (list 'eq var-sym (list 'quote sym))))) | |
5229 alist))) | |
5230 | |
5231 | |
5232 (defun pr-ps-set-utility (value) | |
5233 (let ((item (cdr (assq value pr-ps-utility-alist)))) | |
5234 (or item | |
5235 (error | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5236 "Invalid PostScript utility name `%s' for variable `pr-ps-utility'" |
49646 | 5237 value)) |
5238 (setq pr-ps-utility value) | |
5239 (pr-eval-alist (nthcdr 9 item))) | |
5240 (pr-update-mode-line)) | |
5241 | |
5242 | |
5243 (defun pr-ps-set-printer (value) | |
5244 (let ((ps (cdr (assq value pr-ps-printer-alist)))) | |
5245 (or ps | |
5246 (error | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5247 "Invalid PostScript printer name `%s' for variable `pr-ps-name'" |
49646 | 5248 value)) |
5249 (setq pr-ps-name value | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5250 pr-ps-command (pr-dosify-file-name (nth 0 ps)) |
49646 | 5251 pr-ps-switches (nth 1 ps) |
5252 pr-ps-printer-switch (nth 2 ps) | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5253 pr-ps-printer (nth 3 ps)) |
49646 | 5254 (or (stringp pr-ps-command) |
5255 (setq pr-ps-command | |
5256 (cond (ps-windows-system "print") | |
5257 (ps-lp-system "lp") | |
5258 (t "lpr") | |
5259 ))) | |
5260 (or (stringp pr-ps-printer-switch) | |
5261 (setq pr-ps-printer-switch | |
5262 (cond (ps-windows-system "/D:") | |
5263 (ps-lp-system "-d") | |
5264 (t "-P") | |
5265 ))) | |
5266 (pr-eval-alist (nthcdr 4 ps))) | |
5267 (pr-update-mode-line)) | |
5268 | |
5269 | |
5270 (defun pr-txt-set-printer (value) | |
5271 (let ((txt (cdr (assq value pr-txt-printer-alist)))) | |
5272 (or txt | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5273 (error "Invalid text printer name `%s' for variable `pr-txt-name'" |
49646 | 5274 value)) |
5275 (setq pr-txt-name value | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5276 pr-txt-command (pr-dosify-file-name (nth 0 txt)) |
49646 | 5277 pr-txt-switches (nth 1 txt) |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5278 pr-txt-printer (nth 2 txt))) |
49646 | 5279 (or (stringp pr-txt-command) |
5280 (setq pr-txt-command | |
5281 (cond (ps-windows-system "print") | |
5282 (ps-lp-system "lp") | |
5283 (t "lpr") | |
5284 ))) | |
5285 (pr-update-mode-line)) | |
5286 | |
5287 | |
5288 (defun pr-eval-alist (alist) | |
5289 (mapcar #'(lambda (option) | |
5290 (let ((var-sym (car option)) | |
5291 (value (cdr option))) | |
5292 (if (eq var-sym 'inherits-from:) | |
5293 (pr-eval-setting-alist value 'global) | |
5294 (set var-sym (eval value))))) | |
5295 alist)) | |
5296 | |
5297 | |
5298 (defun pr-eval-local-alist (alist) | |
5299 (let (local-list) | |
84876
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5300 (mapc #'(lambda (option) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5301 (let ((var-sym (car option)) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5302 (value (cdr option))) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5303 (setq local-list |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5304 (if (eq var-sym 'inherits-from:) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5305 (nconc (pr-eval-setting-alist value) local-list) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5306 (set (make-local-variable var-sym) (eval value)) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5307 (cons var-sym local-list))))) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5308 alist) |
49646 | 5309 local-list)) |
5310 | |
5311 | |
5312 (defun pr-eval-setting-alist (key &optional global old) | |
5313 (let ((setting (cdr (assq key pr-setting-database)))) | |
5314 (and setting | |
5315 (let ((inherits (nth 0 setting)) | |
5316 (local (nth 1 setting)) | |
5317 (kill (nth 2 setting)) | |
5318 local-list) | |
5319 (and local global | |
5320 (progn | |
5321 (ding) | |
5322 (message "There are local buffer settings for `%S'." key) | |
5323 (setq global nil))) | |
5324 (and inherits | |
5325 (if (memq inherits old) | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5326 (error "Circular inheritance for `%S'" inherits) |
49646 | 5327 (setq local-list |
5328 (pr-eval-setting-alist inherits global | |
5329 (cons inherits old))))) | |
84876
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5330 (mapc |
49646 | 5331 (cond ((not local) ; global settings |
5332 #'(lambda (option) | |
5333 (let ((var-sym (car option))) | |
5334 (or (eq var-sym 'inherits-from:) | |
5335 (set var-sym (eval (cdr option))))))) | |
5336 (kill ; local settings with killing | |
5337 #'(lambda (option) | |
5338 (let ((var-sym (car option))) | |
5339 (unless (eq var-sym 'inherits-from:) | |
5340 (setq local-list (cons var-sym local-list)) | |
5341 (set (make-local-variable var-sym) | |
5342 (eval (cdr option))))))) | |
5343 (t ; local settings without killing | |
5344 #'(lambda (option) | |
5345 (let ((var-sym (car option))) | |
5346 (or (eq var-sym 'inherits-from:) | |
5347 (set (make-local-variable var-sym) | |
5348 (eval (cdr option)))))))) | |
5349 (nthcdr 3 setting)) | |
5350 local-list)))) | |
5351 | |
5352 | |
5353 (defun pr-kill-local-variable (local-var-list) | |
5354 (mapcar 'kill-local-variable local-var-list)) | |
5355 | |
5356 | |
5357 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5358 ;; Internal Functions (II) | |
5359 | |
5360 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5361 (defun pr-toggle (var-sym mess entry index horizontal state |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5362 &optional path no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5363 (set var-sym (not (symbol-value var-sym))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5364 (message "%s is %s" mess (if (symbol-value var-sym) "on" "off")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5365 (or no-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5366 (pr-menu-lock entry index horizontal state path))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5367 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5368 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5369 (defun pr-toggle-file-duplex-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5370 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5371 (pr-toggle 'pr-file-duplex "PS file duplex" nil 7 5 nil |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5372 '("PostScript Print" "File") no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5373 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5374 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5375 (defun pr-toggle-file-tumble-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5376 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5377 (pr-toggle 'pr-file-tumble "PS file tumble" nil 8 5 nil |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5378 '("PostScript Print" "File") no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5379 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5380 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5381 (defun pr-toggle-file-landscape-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5382 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5383 (pr-toggle 'pr-file-landscape "PS file landscape" nil 6 5 nil |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5384 '("PostScript Print" "File") no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5385 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5386 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5387 (defun pr-toggle-ghostscript-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5388 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5389 (pr-toggle 'pr-print-using-ghostscript "Printing using ghostscript" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5390 'postscript-process 2 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5391 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5392 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5393 (defun pr-toggle-faces-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5394 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5395 (pr-toggle 'pr-faces-p "Printing with faces" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5396 'postscript-process 1 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5397 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5398 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5399 (defun pr-toggle-spool-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5400 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5401 (pr-toggle 'pr-spool-p "Spooling printing" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5402 'postscript-process 0 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5403 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5404 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5405 (defun pr-toggle-duplex-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5406 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5407 (pr-toggle 'ps-spool-duplex "Printing duplex" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5408 'postscript-options 5 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5409 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5410 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5411 (defun pr-toggle-tumble-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5412 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5413 (pr-toggle 'ps-spool-tumble "Tumble" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5414 'postscript-options 6 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5415 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5416 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5417 (defun pr-toggle-landscape-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5418 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5419 (pr-toggle 'ps-landscape-mode "Landscape" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5420 'postscript-options 0 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5421 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5422 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5423 (defun pr-toggle-upside-down-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5424 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5425 (pr-toggle 'ps-print-upside-down "Upside-Down" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5426 'postscript-options 7 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5427 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5428 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5429 (defun pr-toggle-line-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5430 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5431 (pr-toggle 'ps-line-number "Line number" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5432 'postscript-options 3 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5433 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5434 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5435 (defun pr-toggle-zebra-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5436 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5437 (pr-toggle 'ps-zebra-stripes "Zebra stripe" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5438 'postscript-options 4 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5439 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5440 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5441 (defun pr-toggle-header-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5442 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5443 (pr-toggle 'ps-print-header "Print header" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5444 'postscript-options 1 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5445 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5446 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5447 (defun pr-toggle-header-frame-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5448 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5449 (pr-toggle 'ps-print-header-frame "Print header frame" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5450 'postscript-options 2 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5451 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5452 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5453 (defun pr-toggle-lock-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5454 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5455 (pr-toggle 'pr-menu-lock "Menu lock" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5456 'printing 2 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5457 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5458 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5459 (defun pr-toggle-region-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5460 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5461 (pr-toggle 'pr-auto-region "Auto region" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5462 'printing 0 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5463 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5464 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5465 (defun pr-toggle-mode-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5466 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5467 (pr-toggle 'pr-auto-mode "Auto mode" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5468 'printing 1 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5469 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5470 |
49646 | 5471 (defun pr-prompt (str) |
5472 (if (pr-auto-mode-p) | |
5473 (concat str " mode") | |
5474 (pr-region-active-string str))) | |
5475 | |
5476 | |
5477 (defun pr-prompt-region (str) | |
5478 (concat str (if (pr-auto-mode-p) | |
5479 " mode" | |
5480 " region"))) | |
5481 | |
5482 | |
5483 (defun pr-prompt-gs (str) | |
5484 (if (pr-using-ghostscript-p) | |
5485 (concat str " GS") | |
5486 str)) | |
5487 | |
5488 | |
5489 (defun pr-region-active-symbol (&optional region-p) | |
5490 (if (or region-p (pr-region-active-p)) | |
5491 'region | |
5492 'buffer)) | |
5493 | |
5494 | |
5495 (defun pr-region-active-string (prefix) | |
5496 (concat prefix | |
5497 (if (pr-region-active-p) | |
5498 " region" | |
5499 " buffer"))) | |
5500 | |
5501 | |
5502 (defun pr-show-setup (settings buffer-name) | |
5503 (with-output-to-temp-buffer buffer-name | |
5504 (princ settings) | |
104386
2e0765155e47
Use help-print-return-message rather than the now obsolete alias.
Glenn Morris <rgm@gnu.org>
parents:
103999
diff
changeset
|
5505 (help-print-return-message))) |
49646 | 5506 |
5507 | |
5508 (defun pr-complete-alist (prompt alist default) | |
5509 (let ((collection (mapcar #'(lambda (elt) | |
5510 (setq elt (car elt)) | |
5511 (cons (symbol-name elt) elt)) | |
5512 alist))) | |
5513 (cdr (assoc (completing-read (concat prompt ": ") | |
5514 collection nil t | |
5515 (symbol-name default) nil | |
5516 (symbol-name default)) | |
5517 collection)))) | |
5518 | |
5519 | |
5520 (defun pr-delete-file (file) | |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
5521 (and pr-delete-temp-file (file-exists-p file) |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
5522 (delete-file file))) |
49646 | 5523 |
5524 | |
5525 (defun pr-expand-file-name (filename) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5526 (pr-dosify-file-name (expand-file-name filename))) |
49646 | 5527 |
5528 | |
5529 (defun pr-ps-outfile-preprint (&optional mess) | |
5530 (let* ((prompt (format "%soutput PostScript file name: " (or mess ""))) | |
5531 (res (read-file-name prompt default-directory "" nil))) | |
5532 (while (cond ((not (file-writable-p res)) | |
5533 (ding) | |
5534 (setq prompt "is unwritable")) | |
5535 ((file-directory-p res) | |
5536 (ding) | |
5537 (setq prompt "is a directory")) | |
5538 ((file-exists-p res) | |
5539 (ding) | |
5540 (setq prompt "exists") | |
5541 (not (y-or-n-p (format "File `%s' exists; overwrite? " | |
5542 res)))) | |
5543 (t nil)) | |
5544 (setq res (read-file-name | |
5545 (format "File %s; PostScript file: " prompt) | |
5546 (file-name-directory res) nil nil | |
5547 (file-name-nondirectory res)))) | |
5548 (pr-expand-file-name res))) | |
5549 | |
5550 | |
5551 (defun pr-ps-infile-preprint (&optional mess) | |
5552 (let* ((prompt (format "%sinput PostScript file name: " (or mess ""))) | |
5553 (res (read-file-name prompt default-directory "" nil))) | |
5554 (while (cond ((not (file-exists-p res)) | |
5555 (ding) | |
5556 (setq prompt "doesn't exist")) | |
5557 ((not (file-readable-p res)) | |
5558 (ding) | |
5559 (setq prompt "is unreadable")) | |
5560 ((file-directory-p res) | |
5561 (ding) | |
5562 (setq prompt "is a directory")) | |
5563 (t nil)) | |
5564 (setq res (read-file-name | |
5565 (format "File %s; PostScript file: " prompt) | |
5566 (file-name-directory res) nil nil | |
5567 (file-name-nondirectory res)))) | |
5568 (pr-expand-file-name res))) | |
5569 | |
5570 | |
5571 (defun pr-ps-utility-args (n-up-sym infile-sym outfile-sym prompt) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5572 ;; check arguments for PostScript file processing. |
49646 | 5573 ;; n-up |
5574 (or (symbol-value n-up-sym) | |
5575 (set n-up-sym (pr-interactive-n-up prompt))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5576 ;; input file |
49646 | 5577 (and (eq (symbol-value infile-sym) t) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5578 (set infile-sym (pr-ps-infile-preprint prompt))) |
49646 | 5579 (or (symbol-value infile-sym) |
5580 (error "%s: input PostScript file name is missing" prompt)) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5581 (set infile-sym (pr-dosify-file-name (symbol-value infile-sym))) |
49646 | 5582 ;; output file |
5583 (and (eq (symbol-value outfile-sym) t) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5584 (set outfile-sym (and current-prefix-arg |
49646 | 5585 (pr-ps-outfile-preprint prompt)))) |
5586 (and (symbol-value outfile-sym) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5587 (set outfile-sym (pr-dosify-file-name (symbol-value outfile-sym)))) |
49646 | 5588 (pr-ps-file (symbol-value outfile-sym))) |
5589 | |
5590 | |
5591 (defun pr-ps-utility-process (n-up infile outfile) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5592 ;; activate utility to process a PostScript file. |
49646 | 5593 (let (item) |
5594 (and (stringp infile) (file-exists-p infile) | |
5595 (setq item (cdr (assq pr-ps-utility pr-ps-utility-alist))) | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5596 (pr-call-process (nth 0 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5597 (pr-switches-string (nth 1 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5598 "pr-ps-utility-alist entry") |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5599 (pr-switches-string (nth 8 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5600 "pr-ps-utility-alist entry") |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5601 (and (nth 2 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5602 (format (nth 2 item) ps-paper-type)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5603 (format (nth 3 item) n-up) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5604 (and pr-file-landscape (nth 4 item)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5605 (and pr-file-duplex (nth 5 item)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5606 (and pr-file-tumble (nth 6 item)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5607 (pr-expand-file-name infile) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5608 (nth 7 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5609 (pr-expand-file-name outfile))))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5610 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5611 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5612 (defun pr-remove-nil-from-list (lst) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5613 (while (and lst (null (car lst))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5614 (setq lst (cdr lst))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5615 (let ((b lst) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5616 (l (cdr lst))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5617 (while l |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5618 (if (car l) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5619 (setq b l |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5620 l (cdr l)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5621 (setq l (cdr l)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5622 (setcdr b l)))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5623 lst) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5624 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5625 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5626 (defun pr-call-process (command &rest args) |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5627 (let ((buffer (get-buffer-create "*Printing Command Output*")) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5628 (cmd (pr-command command)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5629 status) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5630 (setq args (pr-remove-nil-from-list args)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5631 ;; *Printing Command Output* == show command & args |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
5632 (with-current-buffer buffer |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5633 (goto-char (point-max)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5634 (insert (format "%s %S\n" cmd args))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5635 ;; *Printing Command Output* == show any return message from command |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5636 (pr-save-file-modes |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5637 (setq status |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5638 (condition-case data |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5639 (apply 'call-process cmd nil buffer nil args) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5640 ((quit error) |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5641 (error-message-string data))))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5642 ;; *Printing Command Output* == show exit status |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
5643 (with-current-buffer buffer |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5644 (goto-char (point-max)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5645 (insert (format "Exit status: %s\n\n" status))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5646 ;; message if error status |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5647 (if (or (stringp status) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5648 (and (integerp status) (/= status 0))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5649 (message |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5650 "Printing error status: %s (see *Printing Command Output* buffer)" |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5651 status)))) |
49646 | 5652 |
5653 | |
5654 (defun pr-txt-print (from to) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5655 (let ((lpr-command (pr-standard-file-name (pr-command pr-txt-command))) |
49646 | 5656 (lpr-switches (pr-switches pr-txt-switches "pr-txt-switches")) |
5657 (printer-name pr-txt-printer)) | |
5658 (lpr-region from to))) | |
5659 | |
5660 | |
5661 (defun pr-switches-string (switches mess) | |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5662 ;; If SWITCHES is nil, return nil. |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5663 ;; Otherwise, return the list of string in a string. |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5664 (and switches |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5665 (mapconcat 'identity (pr-switches switches mess) " "))) |
49646 | 5666 |
5667 | |
5668 (defun pr-switches (switches mess) | |
5669 (or (listp switches) | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5670 (error "%S should have a list of strings" mess)) |
49646 | 5671 (ps-flatten-list ; dynamic evaluation |
5672 (mapcar 'ps-eval-switch switches))) | |
5673 | |
5674 | |
5675 (defun pr-ps-preview (kind n-up filename mess) | |
5676 (pr-set-n-up-and-filename 'n-up 'filename mess) | |
5677 (let ((file (pr-ps-file filename))) | |
5678 (pr-text2ps kind n-up file) | |
5679 (or pr-spool-p (pr-ps-file-preview file)))) | |
5680 | |
5681 | |
5682 (defun pr-ps-using-ghostscript (kind n-up filename mess) | |
5683 (pr-set-n-up-and-filename 'n-up 'filename mess) | |
5684 (let ((file (pr-ps-file filename))) | |
5685 (pr-text2ps kind n-up file) | |
5686 (unless (or pr-spool-p filename) | |
5687 (pr-ps-file-using-ghostscript file) | |
5688 (pr-delete-file file)))) | |
5689 | |
5690 | |
5691 (defun pr-ps-print (kind n-up filename mess) | |
5692 (pr-set-n-up-and-filename 'n-up 'filename mess) | |
5693 (let ((file (pr-ps-file filename))) | |
5694 (pr-text2ps kind n-up file) | |
5695 (unless (or pr-spool-p filename) | |
5696 (pr-ps-file-print file) | |
5697 (pr-delete-file file)))) | |
5698 | |
5699 | |
5700 (defun pr-ps-file (&optional filename) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5701 (pr-dosify-file-name (or filename |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5702 (make-temp-file |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5703 (convert-standard-filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5704 (expand-file-name pr-ps-temp-file pr-temp-dir)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5705 nil ".ps")))) |
49646 | 5706 |
5707 | |
5708 (defun pr-interactive-n-up (mess) | |
5709 (or (stringp mess) (setq mess "*")) | |
5710 (save-match-data | |
65680
ed770a0a7846
2005-09-24 Emilio C. Lopes <eclig@gmx.net>
Romain Francoise <romain@orebokech.com>
parents:
65582
diff
changeset
|
5711 (let* ((fmt-prompt "%s[%s] N-up printing (default 1): ") |
49646 | 5712 (prompt "") |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
5713 (str (pr-read-string (format fmt-prompt prompt mess) "1" nil "1")) |
49646 | 5714 int) |
5715 (while (if (string-match "^\\s *[0-9]+$" str) | |
62887
3d8c6d031cf0
(pr-interactive-n-up): Use string-to-number.
Richard M. Stallman <rms@gnu.org>
parents:
58408
diff
changeset
|
5716 (setq int (string-to-number str) |
49646 | 5717 prompt (cond ((< int 1) "Integer below 1; ") |
5718 ((> int 100) "Integer above 100; ") | |
5719 (t nil))) | |
5720 (setq prompt "Invalid integer syntax; ")) | |
5721 (ding) | |
5722 (setq str | |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
5723 (pr-read-string (format fmt-prompt prompt mess) str nil "1"))) |
49646 | 5724 int))) |
5725 | |
5726 | |
5727 (defun pr-interactive-dir (mess) | |
5728 (let* ((dir-name (file-name-directory (or (buffer-file-name) | |
5729 default-directory))) | |
5730 (fmt-prompt (concat "%s[" mess "] Directory to print: ")) | |
5731 (dir (read-file-name (format fmt-prompt "") | |
5732 "" dir-name nil dir-name)) | |
5733 prompt) | |
5734 (while (cond ((not (file-directory-p dir)) | |
5735 (ding) | |
5736 (setq prompt "It's not a directory! ")) | |
5737 ((not (file-readable-p dir)) | |
5738 (ding) | |
5739 (setq prompt "Directory is unreadable! ")) | |
5740 (t nil)) | |
5741 (setq dir-name (file-name-directory dir) | |
5742 dir (read-file-name (format fmt-prompt prompt) | |
5743 "" dir-name nil dir-name))) | |
5744 (file-name-as-directory dir))) | |
5745 | |
5746 | |
5747 (defun pr-interactive-regexp (mess) | |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
5748 (pr-read-string (format "[%s] File regexp to print: " mess) "" nil "")) |
49646 | 5749 |
5750 | |
5751 (defun pr-interactive-dir-args (mess) | |
5752 (list | |
5753 ;; get directory argument | |
5754 (pr-interactive-dir mess) | |
5755 ;; get file name regexp | |
5756 (pr-interactive-regexp mess))) | |
5757 | |
5758 | |
5759 (defun pr-interactive-ps-dir-args (mess) | |
5760 (list | |
5761 ;; get n-up argument | |
5762 (pr-interactive-n-up mess) | |
5763 ;; get directory argument | |
5764 (pr-interactive-dir mess) | |
5765 ;; get file name regexp | |
5766 (pr-interactive-regexp mess) | |
5767 ;; get output file name | |
5768 (and (not pr-spool-p) | |
5769 (ps-print-preprint current-prefix-arg)))) | |
5770 | |
5771 | |
5772 (defun pr-interactive-n-up-file (mess) | |
5773 (list | |
5774 ;; get n-up argument | |
5775 (pr-interactive-n-up mess) | |
5776 ;; get output file name | |
5777 (and (not pr-spool-p) | |
5778 (ps-print-preprint current-prefix-arg)))) | |
5779 | |
5780 | |
5781 (defun pr-interactive-n-up-inout (mess) | |
5782 (list | |
5783 ;; get n-up argument | |
5784 (pr-interactive-n-up mess) | |
5785 ;; get input file name | |
5786 (pr-ps-infile-preprint (concat mess " ")) | |
5787 ;; get output file name | |
5788 (ps-print-preprint current-prefix-arg))) | |
5789 | |
5790 | |
5791 (defun pr-set-outfilename (filename-sym) | |
5792 (and (not pr-spool-p) | |
5793 (eq (symbol-value filename-sym) t) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5794 (set filename-sym (and current-prefix-arg |
49646 | 5795 (ps-print-preprint current-prefix-arg)))) |
5796 (and (symbol-value filename-sym) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5797 (set filename-sym (pr-dosify-file-name (symbol-value filename-sym))))) |
49646 | 5798 |
5799 | |
5800 (defun pr-set-n-up-and-filename (n-up-sym filename-sym mess) | |
5801 ;; n-up | |
5802 (or (symbol-value n-up-sym) | |
5803 (set n-up-sym (pr-interactive-n-up mess))) | |
5804 ;; output file | |
5805 (pr-set-outfilename filename-sym)) | |
5806 | |
5807 | |
5808 (defun pr-set-dir-args (dir-sym regexp-sym mess) | |
5809 ;; directory | |
5810 (or (symbol-value dir-sym) | |
5811 (set dir-sym (pr-interactive-dir mess))) | |
5812 ;; file name regexp | |
5813 (or (symbol-value regexp-sym) | |
5814 (set regexp-sym (pr-interactive-regexp mess)))) | |
5815 | |
5816 | |
5817 (defun pr-set-ps-dir-args (n-up-sym dir-sym regexp-sym filename-sym mess) | |
5818 ;; n-up | |
5819 (or (symbol-value n-up-sym) | |
5820 (set n-up-sym (pr-interactive-n-up mess))) | |
5821 ;; directory & file name regexp | |
5822 (pr-set-dir-args dir-sym regexp-sym mess) | |
5823 ;; output file | |
5824 (pr-set-outfilename filename-sym)) | |
5825 | |
5826 | |
5827 (defun pr-find-buffer-visiting (file) | |
5828 (if (not (file-directory-p file)) | |
5829 (find-buffer-visiting (if ps-windows-system | |
5830 (downcase file) | |
5831 file)) | |
5832 (let ((truename (file-truename file)) | |
5833 (blist (buffer-list)) | |
5834 found) | |
5835 (while (and (not found) blist) | |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
5836 (with-current-buffer (car blist) |
49646 | 5837 (and (eq major-mode 'dired-mode) |
5838 (save-excursion | |
5839 (goto-char (point-min)) | |
5840 (string= (buffer-substring-no-properties | |
5841 (+ (point-min) 2) | |
5842 (progn | |
5843 (end-of-line) | |
5844 (1- (point)))) | |
5845 truename)) | |
5846 (setq found (car blist)))) | |
5847 (setq blist (cdr blist))) | |
5848 found))) | |
5849 | |
5850 | |
5851 (defun pr-file-list (dir file-regexp fun) | |
5852 (mapcar #'(lambda (file) | |
5853 (and (or pr-list-directory | |
5854 (not (file-directory-p file))) | |
5855 (let ((buffer (pr-find-buffer-visiting file)) | |
5856 pop-up-windows | |
5857 pop-up-frames) | |
5858 (and (or buffer | |
5859 (file-readable-p file)) | |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
5860 (with-current-buffer (or buffer |
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
5861 (find-file-noselect file)) |
49646 | 5862 (funcall fun) |
5863 (or buffer | |
5864 (kill-buffer (current-buffer)))))))) | |
5865 (directory-files dir t file-regexp))) | |
5866 | |
5867 | |
5868 (defun pr-delete-file-if-exists (filename) | |
5869 (and (not pr-spool-p) (stringp filename) (file-exists-p filename) | |
5870 (delete-file filename))) | |
5871 | |
5872 | |
5873 (defun pr-ps-file-list (n-up dir file-regexp filename) | |
5874 (pr-delete-file-if-exists (setq filename (pr-expand-file-name filename))) | |
5875 (let ((pr-spool-p t)) | |
5876 (pr-file-list dir file-regexp | |
5877 #'(lambda () | |
5878 (if (pr-auto-mode-p) | |
5879 (pr-ps-mode n-up filename) | |
5880 (pr-text2ps 'buffer n-up filename))))) | |
5881 (or pr-spool-p | |
5882 (pr-despool-print filename))) | |
5883 | |
5884 | |
5885 (defun pr-text2ps (kind n-up filename &optional from to) | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5886 (pr-save-file-modes |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5887 (let ((ps-n-up-printing n-up) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5888 (ps-spool-config (and (eq ps-spool-config 'setpagedevice) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5889 'setpagedevice))) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5890 (pr-delete-file-if-exists filename) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5891 (cond (pr-faces-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5892 (cond (pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5893 ;; pr-faces-p and pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5894 ;; here FILENAME arg is ignored |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5895 (cond ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5896 (ps-spool-buffer-with-faces)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5897 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5898 (ps-spool-region-with-faces (or from (point)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5899 (or to (mark)))) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5900 )) |
49646 | 5901 ;; pr-faces-p and not pr-spool-p |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5902 ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5903 (ps-print-buffer-with-faces filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5904 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5905 (ps-print-region-with-faces (or from (point)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5906 (or to (mark)) filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5907 )) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5908 (pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5909 ;; not pr-faces-p and pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5910 ;; here FILENAME arg is ignored |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5911 (cond ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5912 (ps-spool-buffer)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5913 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5914 (ps-spool-region (or from (point)) (or to (mark)))) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5915 )) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5916 ;; not pr-faces-p and not pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5917 ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5918 (ps-print-buffer filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5919 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5920 (ps-print-region (or from (point)) (or to (mark)) filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5921 )))) |
49646 | 5922 |
5923 | |
5924 (defun pr-command (command) | |
5925 "Return absolute file name specification for COMMAND. | |
5926 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5927 If COMMAND is an empty string, return it. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5928 |
49646 | 5929 If COMMAND is already an absolute file name specification, return it. |
5930 Else it uses `pr-path-alist' to find COMMAND, if find it then return it; | |
5931 otherwise, gives an error. | |
5932 | |
5933 When using `pr-path-alist' to find COMMAND, the entries `cygwin', `windows' and | |
5934 `unix' are used (see `pr-path-alist' for documentation). | |
5935 | |
5936 If Emacs is running on Windows 95/98/NT/2000, tries to find COMMAND, | |
5937 COMMAND.exe, COMMAND.bat and COMMAND.com in this order." | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5938 (if (string= command "") |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5939 command |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5940 (pr-dosify-file-name |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5941 (or (pr-find-command command) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5942 (pr-path-command (cond (pr-cygwin-system 'cygwin) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5943 (ps-windows-system 'windows) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5944 (t 'unix)) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5945 (file-name-nondirectory command) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5946 nil) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5947 (error "Command not found: %s" |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5948 (file-name-nondirectory command)))))) |
49646 | 5949 |
5950 | |
5951 (defun pr-path-command (symbol command sym-list) | |
5952 (let ((lpath (cdr (assq symbol pr-path-alist))) | |
5953 cmd) | |
5954 ;; PATH expansion | |
5955 (and (eq symbol 'PATH) (null lpath) | |
5956 (setq lpath (parse-colon-path (getenv "PATH")))) | |
5957 (while (and lpath | |
5958 (not | |
5959 (setq cmd | |
5960 (let ((path (car lpath))) | |
5961 (cond | |
5962 ;; symbol expansion | |
5963 ((symbolp path) | |
5964 (and (not (memq path sym-list)) | |
5965 (pr-path-command path command | |
5966 (cons path sym-list)))) | |
5967 ;; normal path | |
5968 ((stringp path) | |
5969 (pr-find-command | |
5970 (expand-file-name | |
5971 (substitute-in-file-name | |
5972 (concat (file-name-as-directory path) | |
5973 command))))) | |
5974 ))))) | |
5975 (setq lpath (cdr lpath))) | |
5976 cmd)) | |
5977 | |
5978 | |
5979 (defun pr-find-command (cmd) | |
5980 (if ps-windows-system | |
5981 ;; windows system | |
5982 (let ((ext (cons (file-name-extension cmd t) | |
5983 (list ".exe" ".bat" ".com"))) | |
5984 found) | |
5985 (setq cmd (file-name-sans-extension cmd)) | |
5986 (while (and ext | |
5987 (setq found (concat cmd (car ext))) | |
5988 (not (and (file-regular-p found) | |
5989 (file-executable-p found)))) | |
5990 (setq ext (cdr ext) | |
5991 found nil)) | |
5992 found) | |
5993 ;; non-windows systems | |
5994 (and (file-regular-p cmd) | |
5995 (file-executable-p cmd) | |
5996 cmd))) | |
5997 | |
5998 | |
5999 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
87207 | 6000 ;; Printing Interface (inspired by ps-print-interface.el) |
49646 | 6001 |
6002 | |
82253
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6003 (eval-when-compile |
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6004 (require 'cus-edit) |
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6005 (require 'wid-edit) |
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6006 (require 'widget)) |
49646 | 6007 |
6008 | |
6009 (defvar pr-i-window-configuration nil) | |
6010 | |
6011 (defvar pr-i-buffer nil) | |
6012 (defvar pr-i-region nil) | |
6013 (defvar pr-i-mode nil) | |
6014 (defvar pr-i-despool nil) | |
6015 (defvar pr-i-ps-as-is t) | |
6016 (defvar pr-i-n-up 1) | |
6017 (defvar pr-i-directory "./") | |
6018 (defvar pr-i-regexp "") | |
6019 (defvar pr-i-ps-file "") | |
6020 (defvar pr-i-out-file "") | |
6021 (defvar pr-i-answer-yes nil) | |
6022 (defvar pr-i-process 'buffer) | |
6023 (defvar pr-i-ps-send 'printer) | |
6024 | |
6025 | |
6026 (defvar pr-interface-map nil | |
6027 "Keymap for pr-interface.") | |
6028 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6029 (unless pr-interface-map |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6030 (let ((map (make-sparse-keymap))) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6031 (cond ((featurep 'xemacs) ; XEmacs |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6032 (pr-set-keymap-parents map (list widget-keymap)) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6033 (pr-set-keymap-name map 'pr-interface-map)) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6034 (t ; GNU Emacs |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6035 (pr-set-keymap-parents map widget-keymap))) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6036 (define-key map "q" 'pr-interface-quit) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6037 (define-key map "?" 'pr-interface-help) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6038 (setq pr-interface-map map))) |
49646 | 6039 |
6040 | |
6041 (defmacro pr-interface-save (&rest body) | |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
104386
diff
changeset
|
6042 `(with-current-buffer pr-i-buffer |
49646 | 6043 ,@body)) |
6044 | |
6045 | |
6046 (defun pr-create-interface () | |
6047 "Create the front end for printing package." | |
6048 (setq pr-i-buffer (buffer-name (current-buffer)) | |
6049 pr-i-region (ps-mark-active-p) | |
6050 pr-i-mode (pr-mode-alist-p) | |
6051 pr-i-window-configuration (current-window-configuration)) | |
6052 | |
6053 (put 'pr-i-process 'pr-widget-list nil) | |
6054 (put 'pr-i-ps-send 'pr-widget-list nil) | |
6055 | |
6056 (delete-other-windows) | |
6057 (kill-buffer (get-buffer-create pr-buffer-name)) | |
6058 (switch-to-buffer (get-buffer-create pr-buffer-name)) | |
6059 | |
6060 ;; header | |
6061 (let ((versions (concat "printing v" pr-version | |
6062 " ps-print v" ps-print-version))) | |
73827
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
6063 ;; to keep compatibility with Emacs 20 & 21: |
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
6064 ;; DO NOT REPLACE `?\ ' BY `?\s' |
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
6065 (widget-insert (make-string (- 79 (length versions)) ?\ ) versions)) |
49646 | 6066 (pr-insert-italic "\nCurrent Directory : " 1) |
6067 (pr-insert-italic default-directory) | |
6068 | |
6069 (pr-insert-section-1) ; 1. Print | |
6070 (pr-insert-section-2) ; 2. PostScript Printer | |
6071 (pr-insert-section-3) ; 3. Text Printer | |
6072 | |
6073 ;; separator | |
6074 (widget-insert "\n\n " (make-string 77 ?-)) | |
6075 | |
6076 (pr-insert-section-4) ; 4. Settings | |
6077 (pr-insert-section-5) ; 5. Customize | |
6078 (pr-insert-section-6) ; 6. Show Settings | |
6079 (pr-insert-section-7) ; 7. Help | |
6080 | |
6081 (use-local-map pr-interface-map) | |
6082 (widget-setup) | |
6083 (goto-char (point-min)) | |
6084 | |
6085 (and pr-i-region ; let region activated | |
6086 (pr-keep-region-active))) | |
6087 | |
6088 | |
6089 (defun pr-insert-section-1 () | |
6090 ;; 1. Print: | |
6091 (pr-insert-italic "\nPrint :" 1) | |
6092 | |
6093 ;; 1a. Buffer: | |
6094 ;; 1a. Buffer: Buffer List | |
6095 (pr-insert-radio-button 'pr-i-process 'buffer) | |
6096 (pr-insert-menu "Buffer List" 'pr-i-buffer | |
6097 (let ((blist (buffer-list)) | |
6098 case-fold-search choices) | |
6099 (while blist | |
6100 (let ((name (buffer-name (car blist))) | |
6101 (ignore pr-buffer-name-ignore) | |
6102 found) | |
6103 (setq blist (cdr blist)) | |
6104 (while (and ignore (not found)) | |
6105 (setq found (string-match (car ignore) name) | |
6106 ignore (cdr ignore))) | |
6107 (or found | |
6108 (setq choices | |
6109 (cons (list 'quote | |
6110 (list 'choice-item | |
6111 :format "%[%t%]" | |
6112 name)) | |
6113 choices))))) | |
6114 (nreverse choices)) | |
6115 " Buffer : " nil | |
6116 '(progn | |
6117 (pr-interface-save | |
6118 (setq pr-i-region (ps-mark-active-p) | |
6119 pr-i-mode (pr-mode-alist-p))) | |
6120 (pr-update-checkbox 'pr-i-region) | |
6121 (pr-update-checkbox 'pr-i-mode))) | |
6122 ;; 1a. Buffer: Region | |
6123 (put 'pr-i-region 'pr-widget | |
6124 (pr-insert-checkbox | |
6125 "\n " | |
6126 'pr-i-region | |
6127 #'(lambda (widget &rest ignore) | |
6128 (let ((region-p (pr-interface-save | |
6129 (ps-mark-active-p)))) | |
6130 (cond ((null (widget-value widget)) ; widget is nil | |
6131 (setq pr-i-region nil)) | |
6132 (region-p ; widget is true and there is a region | |
6133 (setq pr-i-region t) | |
6134 (widget-value-set widget t) | |
6135 (widget-setup)) ; MUST be called after widget-value-set | |
6136 (t ; widget is true and there is no region | |
6137 (ding) | |
6138 (message "There is no region active") | |
6139 (setq pr-i-region nil) | |
6140 (widget-value-set widget nil) | |
6141 (widget-setup))))) ; MUST be called after widget-value-set | |
6142 " Region")) | |
6143 ;; 1a. Buffer: Mode | |
6144 (put 'pr-i-mode 'pr-widget | |
6145 (pr-insert-checkbox | |
6146 " " | |
6147 'pr-i-mode | |
6148 #'(lambda (widget &rest ignore) | |
6149 (let ((mode-p (pr-interface-save | |
6150 (pr-mode-alist-p)))) | |
6151 (cond | |
6152 ((null (widget-value widget)) ; widget is nil | |
6153 (setq pr-i-mode nil)) | |
6154 (mode-p ; widget is true and there is a `mode' | |
6155 (setq pr-i-mode t) | |
6156 (widget-value-set widget t) | |
6157 (widget-setup)) ; MUST be called after widget-value-set | |
6158 (t ; widget is true and there is no `mode' | |
6159 (ding) | |
6160 (message | |
6161 "This buffer isn't in a mode that printing treats specially.") | |
6162 (setq pr-i-mode nil) | |
6163 (widget-value-set widget nil) | |
6164 (widget-setup))))) ; MUST be called after widget-value-set | |
6165 " Mode\n")) | |
6166 | |
6167 ;; 1b. Directory: | |
6168 (pr-insert-radio-button 'pr-i-process 'directory) | |
6169 (widget-create | |
6170 'directory | |
6171 :size 58 | |
6172 :format " Directory : %v" | |
6173 :notify 'pr-interface-directory | |
6174 :action (lambda (widget &optional event) | |
6175 (if (pr-interface-directory widget) | |
6176 (pr-widget-field-action widget event) | |
6177 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6178 (message "Please specify a readable directory"))) |
49646 | 6179 pr-i-directory) |
6180 ;; 1b. Directory: File Regexp | |
6181 (widget-create 'regexp | |
6182 :size 58 | |
6183 :format "\n File Regexp : %v\n" | |
6184 :notify (lambda (widget &rest ignore) | |
6185 (setq pr-i-regexp (widget-value widget))) | |
6186 pr-i-regexp) | |
6187 ;; 1b. Directory: List Directory Entry | |
6188 (widget-insert " ") | |
6189 (pr-insert-toggle 'pr-list-directory " List Directory Entry\n") | |
6190 | |
6191 ;; 1c. PostScript File: | |
6192 (pr-insert-radio-button 'pr-i-process 'file) | |
6193 (widget-create | |
6194 'file | |
6195 :size 51 | |
6196 :format " PostScript File : %v" | |
6197 :notify 'pr-interface-infile | |
6198 :action (lambda (widget &rest event) | |
6199 (if (pr-interface-infile widget) | |
6200 (pr-widget-field-action widget event) | |
6201 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6202 (message "Please specify a readable PostScript file"))) |
49646 | 6203 pr-i-ps-file) |
6204 ;; 1c. PostScript File: PostScript Utility | |
6205 (pr-insert-menu "PostScript Utility" 'pr-ps-utility | |
6206 (pr-choice-alist pr-ps-utility-alist) | |
6207 "\n PostScript Utility : " | |
6208 " ") | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
6209 ;; 1c. PostScript File: No Preprocessing |
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
6210 (pr-insert-toggle 'pr-i-ps-as-is " No Preprocessing")) |
49646 | 6211 |
6212 | |
6213 (defun pr-insert-section-2 () | |
6214 ;; 2. PostScript Printer: | |
6215 ;; 2. PostScript Printer: PostScript Printer List | |
6216 (pr-insert-italic "\n\nPostScript Printer : " 2 20) | |
6217 (pr-insert-menu "PostScript Printer" 'pr-ps-name | |
6218 (pr-choice-alist pr-ps-printer-alist)) | |
6219 ;; 2. PostScript Printer: Despool | |
6220 (put 'pr-i-despool 'pr-widget | |
6221 (pr-insert-checkbox | |
6222 " " | |
6223 'pr-i-despool | |
6224 #'(lambda (widget &rest ignore) | |
6225 (if pr-spool-p | |
6226 (setq pr-i-despool (not pr-i-despool)) | |
6227 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6228 (message "Can despool only when spooling is actually selected") |
49646 | 6229 (setq pr-i-despool nil)) |
6230 (widget-value-set widget pr-i-despool) | |
6231 (widget-setup)) ; MUST be called after widget-value-set | |
6232 " Despool ")) | |
6233 ;; 2. PostScript Printer: Preview Print Quit | |
6234 (pr-insert-button 'pr-interface-preview "Preview" " ") | |
6235 (pr-insert-button 'pr-interface-ps-print "Print" " ") | |
6236 (pr-insert-button 'pr-interface-quit "Quit") | |
6237 ;; 2. PostScript Printer: Send to Printer/Temporary File | |
6238 (pr-insert-radio-button 'pr-i-ps-send 'printer) | |
6239 (widget-insert " Send to Printer/Temporary File") | |
6240 ;; 2. PostScript Printer: Send to File | |
6241 (pr-insert-radio-button 'pr-i-ps-send 'file) | |
6242 (widget-create | |
6243 'file | |
6244 :size 57 | |
6245 :format " Send to File : %v" | |
6246 :notify 'pr-interface-outfile | |
6247 :action (lambda (widget &rest event) | |
6248 (if (and (pr-interface-outfile widget) | |
6249 (or (not (file-exists-p pr-i-out-file)) | |
6250 (setq pr-i-answer-yes | |
6251 (y-or-n-p "File exists; overwrite? ")))) | |
6252 (pr-widget-field-action widget event) | |
6253 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6254 (message "Please specify a writable PostScript file"))) |
49646 | 6255 pr-i-out-file) |
6256 ;; 2. PostScript Printer: N-Up | |
6257 (widget-create | |
6258 'integer | |
6259 :size 3 | |
6260 :format "\n N-Up : %v" | |
6261 :notify (lambda (widget &rest ignore) | |
6262 (let ((value (if (string= (widget-apply widget :value-get) "") | |
6263 0 | |
6264 (widget-value widget)))) | |
6265 (if (and (integerp value) | |
6266 (<= 1 value) (<= value 100)) | |
6267 (progn | |
6268 (message " ") | |
6269 (setq pr-i-n-up value)) | |
6270 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6271 (message "Please specify an integer between 1 and 100")))) |
49646 | 6272 pr-i-n-up)) |
6273 | |
6274 | |
6275 (defun pr-insert-section-3 () | |
6276 ;; 3. Text Printer: | |
6277 (pr-insert-italic "\n\nText Printer : " 2 14) | |
6278 (pr-insert-menu "Text Printer" 'pr-txt-name | |
6279 (pr-choice-alist pr-txt-printer-alist) | |
6280 nil " ") | |
6281 (pr-insert-button 'pr-interface-printify "Printify" " ") | |
6282 (pr-insert-button 'pr-interface-txt-print "Print" " ") | |
6283 (pr-insert-button 'pr-interface-quit "Quit")) | |
6284 | |
6285 | |
6286 (defun pr-insert-section-4 () | |
6287 ;; 4. Settings: | |
6288 ;; 4. Settings: Landscape Auto Region Verbose | |
6289 (pr-insert-checkbox "\n\n " 'ps-landscape-mode | |
6290 #'(lambda (&rest ignore) | |
6291 (setq ps-landscape-mode (not ps-landscape-mode) | |
6292 pr-file-landscape ps-landscape-mode)) | |
6293 " Landscape ") | |
6294 (pr-insert-toggle 'pr-auto-region " Auto Region ") | |
6295 (pr-insert-toggle 'pr-buffer-verbose " Verbose\n ") | |
6296 | |
6297 ;; 4. Settings: Print Header Auto Mode | |
6298 (pr-insert-toggle 'ps-print-header " Print Header ") | |
6299 (pr-insert-toggle 'pr-auto-mode " Auto Mode\n ") | |
6300 | |
6301 ;; 4. Settings: Print Header Frame Menu Lock | |
6302 (pr-insert-toggle 'ps-print-header-frame " Print Header Frame ") | |
6303 (pr-insert-toggle 'pr-menu-lock " Menu Lock\n ") | |
6304 | |
6305 ;; 4. Settings: Line Number | |
6306 (pr-insert-toggle 'ps-line-number " Line Number\n ") | |
6307 | |
6308 ;; 4. Settings: Zebra Stripes Spool Buffer | |
6309 (pr-insert-toggle 'ps-zebra-stripes " Zebra Stripes") | |
6310 (pr-insert-checkbox " " | |
6311 'pr-spool-p | |
6312 #'(lambda (&rest ignore) | |
6313 (setq pr-spool-p (not pr-spool-p)) | |
6314 (unless pr-spool-p | |
6315 (setq pr-i-despool nil) | |
6316 (pr-update-checkbox 'pr-i-despool))) | |
6317 " Spool Buffer") | |
6318 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6319 ;; 4. Settings: Duplex Print with faces |
49646 | 6320 (pr-insert-checkbox "\n " |
6321 'ps-spool-duplex | |
6322 #'(lambda (&rest ignore) | |
6323 (setq ps-spool-duplex (not ps-spool-duplex) | |
6324 pr-file-duplex ps-spool-duplex)) | |
6325 " Duplex ") | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6326 (pr-insert-toggle 'pr-faces-p " Print with faces") |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6327 |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6328 ;; 4. Settings: Tumble Print via Ghostscript |
49646 | 6329 (pr-insert-checkbox "\n " |
6330 'ps-spool-tumble | |
6331 #'(lambda (&rest ignore) | |
6332 (setq ps-spool-tumble (not ps-spool-tumble) | |
6333 pr-file-tumble ps-spool-tumble)) | |
6334 " Tumble ") | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6335 (pr-insert-toggle 'pr-print-using-ghostscript " Print via Ghostscript\n ") |
49646 | 6336 |
6337 ;; 4. Settings: Upside-Down Page Parity | |
54209
c312c950b64d
Adjust buffer interface.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54146
diff
changeset
|
6338 (pr-insert-toggle 'ps-print-upside-down " Upside-Down") |
c312c950b64d
Adjust buffer interface.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54146
diff
changeset
|
6339 (pr-insert-italic "\n\nSelect Pages : " 2 14) |
49646 | 6340 (pr-insert-menu "Page Parity" 'ps-even-or-odd-pages |
6341 (mapcar #'(lambda (alist) | |
6342 (list 'quote | |
6343 (list 'choice-item | |
6344 :format "%[%t%]" | |
6345 :tag (cdr alist) | |
6346 :value (car alist)))) | |
6347 pr-even-or-odd-alist))) | |
6348 | |
6349 | |
6350 (defun pr-insert-section-5 () | |
6351 ;; 5. Customize: | |
6352 (pr-insert-italic "\n\nCustomize : " 2 11) | |
6353 (pr-insert-button 'pr-customize "printing" " ") | |
6354 (pr-insert-button #'(lambda (&rest ignore) (ps-print-customize)) | |
6355 "ps-print" " ") | |
6356 (pr-insert-button 'lpr-customize "lpr")) | |
6357 | |
6358 | |
6359 (defun pr-insert-section-6 () | |
6360 ;; 6. Show Settings: | |
6361 (pr-insert-italic "\nShow Settings : " 1 14) | |
6362 (pr-insert-button 'pr-show-pr-setup "printing" " ") | |
6363 (pr-insert-button 'pr-show-ps-setup "ps-print" " ") | |
6364 (pr-insert-button 'pr-show-lpr-setup "lpr")) | |
6365 | |
6366 | |
6367 (defun pr-insert-section-7 () | |
6368 ;; 7. Help: | |
6369 (pr-insert-italic "\nHelp : " 1 5) | |
6370 (pr-insert-button 'pr-interface-help "Interface Help" " ") | |
6371 (pr-insert-button 'pr-help "Menu Help" " ") | |
6372 (pr-insert-button 'pr-interface-quit "Quit" "\n ") | |
6373 (pr-insert-button 'pr-kill-help "Kill All Printing Help Buffer")) | |
6374 | |
6375 | |
6376 (defun pr-kill-help (&rest ignore) | |
6377 "Kill all printing help buffer." | |
6378 (interactive) | |
6379 (let ((help '("*Printing Interface Help*" "*Printing Help*" | |
6380 "*LPR Setup*" "*PR Setup*" "*PS Setup*"))) | |
6381 (while help | |
6382 (let ((buffer (get-buffer (car help)))) | |
6383 (setq help (cdr help)) | |
6384 (when buffer | |
6385 (delete-windows-on buffer) | |
6386 (kill-buffer buffer))))) | |
6387 (recenter (- (window-height) 2))) | |
6388 | |
6389 | |
6390 (defun pr-interface-quit (&rest ignore) | |
6391 "Kill the printing buffer interface and quit." | |
6392 (interactive) | |
6393 (kill-buffer pr-buffer-name) | |
6394 (set-window-configuration pr-i-window-configuration)) | |
6395 | |
6396 | |
6397 (defun pr-interface-help (&rest ignore) | |
6398 "printing buffer interface help." | |
6399 (interactive) | |
6400 (pr-show-setup pr-interface-help-message "*Printing Interface Help*")) | |
6401 | |
6402 | |
6403 (defun pr-interface-txt-print (&rest ignore) | |
6404 "Print using lpr package." | |
6405 (interactive) | |
6406 (condition-case data | |
6407 (cond | |
6408 ((eq pr-i-process 'directory) | |
6409 (pr-i-directory) | |
6410 (pr-interface-save | |
6411 (pr-txt-directory pr-i-directory pr-i-regexp))) | |
6412 ((eq pr-i-process 'buffer) | |
6413 (pr-interface-save | |
6414 (cond (pr-i-region | |
6415 (let ((pr-auto-mode pr-i-mode)) | |
6416 (pr-txt-region))) | |
6417 (pr-i-mode | |
6418 (let (pr-auto-region) | |
6419 (pr-txt-mode))) | |
6420 (t | |
6421 (let (pr-auto-mode pr-auto-region) | |
6422 (pr-txt-buffer))) | |
6423 ))) | |
6424 ((eq pr-i-process 'file) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6425 (error "Please specify a text file")) |
49646 | 6426 (t |
6427 (error "Internal error: `pr-i-process' = %S" pr-i-process)) | |
6428 ) | |
6429 ;; handlers | |
6430 ((quit error) | |
6431 (ding) | |
65582
4d1085b02d64
Message format spec fixes (1)
Deepak Goel <deego@gnufans.org>
parents:
64762
diff
changeset
|
6432 (message "%s" (error-message-string data))))) |
49646 | 6433 |
6434 | |
6435 (defun pr-interface-printify (&rest ignore) | |
6436 "Printify a buffer." | |
6437 (interactive) | |
6438 (condition-case data | |
6439 (cond | |
6440 ((eq pr-i-process 'directory) | |
6441 (pr-i-directory) | |
6442 (pr-interface-save | |
6443 (pr-printify-directory pr-i-directory pr-i-regexp))) | |
6444 ((eq pr-i-process 'buffer) | |
6445 (pr-interface-save | |
6446 (if pr-i-region | |
6447 (pr-printify-region) | |
6448 (pr-printify-buffer)))) | |
6449 ((eq pr-i-process 'file) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6450 (error "Cannot printify a PostScript file")) |
49646 | 6451 (t |
6452 (error "Internal error: `pr-i-process' = %S" pr-i-process)) | |
6453 ) | |
6454 ;; handlers | |
6455 ((quit error) | |
6456 (ding) | |
65582
4d1085b02d64
Message format spec fixes (1)
Deepak Goel <deego@gnufans.org>
parents:
64762
diff
changeset
|
6457 (message "%s" (error-message-string data))))) |
49646 | 6458 |
6459 | |
6460 (defun pr-interface-ps-print (&rest ignore) | |
6461 "Print using ps-print package." | |
6462 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6463 (pr-interface-ps 'pr-despool-ps-print 'pr-ps-directory-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6464 'pr-ps-file-ps-print 'pr-ps-file-up-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6465 'pr-ps-region-ps-print 'pr-ps-mode-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6466 'pr-ps-buffer-ps-print)) |
49646 | 6467 |
6468 | |
6469 (defun pr-interface-preview (&rest ignore) | |
6470 "Preview a PostScript file." | |
6471 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6472 (pr-interface-ps 'pr-despool-preview 'pr-ps-directory-preview |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6473 'pr-ps-file-preview 'pr-ps-file-up-preview |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6474 'pr-ps-region-preview 'pr-ps-mode-preview |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6475 'pr-ps-buffer-preview)) |
49646 | 6476 |
6477 | |
6478 (defun pr-interface-ps (ps-despool ps-directory ps-file ps-file-up ps-region | |
6479 ps-mode ps-buffer) | |
6480 (condition-case data | |
6481 (let ((outfile (or (and (eq pr-i-process 'file) pr-i-ps-as-is) | |
6482 (pr-i-ps-send)))) | |
6483 (cond | |
6484 ((and pr-i-despool pr-spool-p) | |
6485 (pr-interface-save | |
6486 (funcall ps-despool outfile)) | |
6487 (setq pr-i-despool nil) | |
6488 (pr-update-checkbox 'pr-i-despool)) | |
6489 ((eq pr-i-process 'directory) | |
6490 (pr-i-directory) | |
6491 (pr-interface-save | |
6492 (funcall ps-directory | |
6493 pr-i-n-up pr-i-directory pr-i-regexp outfile))) | |
6494 ((eq pr-i-process 'file) | |
6495 (cond ((or (file-directory-p pr-i-ps-file) | |
6496 (not (file-readable-p pr-i-ps-file))) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6497 (error "Please specify a readable PostScript file")) |
49646 | 6498 (pr-i-ps-as-is |
6499 (pr-interface-save | |
6500 (funcall ps-file pr-i-ps-file))) | |
6501 (t | |
6502 (pr-interface-save | |
6503 (funcall ps-file-up pr-i-n-up pr-i-ps-file outfile))) | |
6504 )) | |
6505 ((eq pr-i-process 'buffer) | |
6506 (pr-interface-save | |
6507 (cond (pr-i-region | |
6508 (let ((pr-auto-mode pr-i-mode)) | |
6509 (funcall ps-region pr-i-n-up outfile))) | |
6510 (pr-i-mode | |
6511 (let (pr-auto-region) | |
6512 (funcall ps-mode pr-i-n-up outfile))) | |
6513 (t | |
6514 (let (pr-auto-mode pr-auto-region) | |
6515 (funcall ps-buffer pr-i-n-up outfile))) | |
6516 ))) | |
6517 (t | |
6518 (error "Internal error: `pr-i-process' = %S" pr-i-process)) | |
6519 )) | |
6520 ;; handlers | |
6521 ((quit error) | |
6522 (ding) | |
65582
4d1085b02d64
Message format spec fixes (1)
Deepak Goel <deego@gnufans.org>
parents:
64762
diff
changeset
|
6523 (message "%s" (error-message-string data))))) |
49646 | 6524 |
6525 | |
6526 (defun pr-i-ps-send () | |
6527 (cond ((eq pr-i-ps-send 'printer) | |
6528 nil) | |
6529 ((not (eq pr-i-ps-send 'file)) | |
6530 (error "Internal error: `pr-i-ps-send' = %S" pr-i-ps-send)) | |
6531 ((or (file-directory-p pr-i-out-file) | |
6532 (not (file-writable-p pr-i-out-file))) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6533 (error "Please specify a writable PostScript file")) |
49646 | 6534 ((or (not (file-exists-p pr-i-out-file)) |
6535 pr-i-answer-yes | |
6536 (setq pr-i-answer-yes | |
6537 (y-or-n-p (format "File `%s' exists; overwrite? " | |
6538 pr-i-out-file)))) | |
6539 pr-i-out-file) | |
6540 (t | |
6541 (error "File already exists")))) | |
6542 | |
6543 | |
6544 (defun pr-i-directory () | |
6545 (or (and (file-directory-p pr-i-directory) | |
6546 (file-readable-p pr-i-directory)) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6547 (error "Please specify be a readable directory"))) |
49646 | 6548 |
6549 | |
6550 (defun pr-interface-directory (widget &rest ignore) | |
6551 (and pr-buffer-verbose | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6552 (message "You can use M-TAB or ESC TAB for file completion")) |
49646 | 6553 (let ((dir (widget-value widget))) |
6554 (and (file-directory-p dir) | |
6555 (file-readable-p dir) | |
6556 (setq pr-i-directory dir)))) | |
6557 | |
6558 | |
6559 (defun pr-interface-infile (widget &rest ignore) | |
6560 (and pr-buffer-verbose | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6561 (message "You can use M-TAB or ESC TAB for file completion")) |
49646 | 6562 (let ((file (widget-value widget))) |
6563 (and (not (file-directory-p file)) | |
6564 (file-readable-p file) | |
6565 (setq pr-i-ps-file file)))) | |
6566 | |
6567 | |
6568 (defun pr-interface-outfile (widget &rest ignore) | |
6569 (setq pr-i-answer-yes nil) | |
6570 (and pr-buffer-verbose | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6571 (message "You can use M-TAB or ESC TAB for file completion")) |
49646 | 6572 (let ((file (widget-value widget))) |
6573 (and (not (file-directory-p file)) | |
6574 (file-writable-p file) | |
6575 (setq pr-i-out-file file)))) | |
6576 | |
6577 | |
6578 (defun pr-widget-field-action (widget event) | |
6579 (and (get-buffer "*Completions*") ; clean frame window | |
6580 (delete-windows-on "*Completions*")) | |
6581 (message " ") ; clean echo area | |
6582 (widget-field-action widget event)) | |
6583 | |
6584 | |
6585 (defun pr-insert-italic (str &optional from to) | |
6586 (let ((len (length str))) | |
6587 (put-text-property (if from (max from 0) 0) | |
6588 (if to (max to len) len) | |
6589 'face 'italic str) | |
6590 (widget-insert str))) | |
6591 | |
6592 | |
6593 (defun pr-insert-checkbox (before var-sym fun label) | |
6594 (widget-insert before) | |
6595 (prog1 | |
6596 (widget-create 'checkbox | |
6597 :notify fun | |
6598 (symbol-value var-sym)) | |
6599 (widget-insert label))) | |
6600 | |
6601 | |
6602 (defun pr-insert-toggle (var-sym label) | |
6603 (widget-create 'checkbox | |
6604 :notify `(lambda (&rest ignore) | |
6605 (setq ,var-sym (not ,var-sym))) | |
6606 (symbol-value var-sym)) | |
6607 (widget-insert label)) | |
6608 | |
6609 | |
6610 (defun pr-insert-button (fun label &optional separator) | |
6611 (widget-create 'push-button | |
6612 :notify fun | |
6613 label) | |
6614 (and separator | |
6615 (widget-insert separator))) | |
6616 | |
6617 | |
6618 (defun pr-insert-menu (tag var-sym choices &optional before after &rest body) | |
6619 (and before (widget-insert before)) | |
6620 (eval `(widget-create 'menu-choice | |
6621 :tag ,tag | |
6622 :format "%v" | |
6623 :inline t | |
6624 :value ,var-sym | |
6625 :notify (lambda (widget &rest ignore) | |
6626 (setq ,var-sym (widget-value widget)) | |
6627 ,@body) | |
6628 :void '(choice-item :format "%[%t%]" | |
6629 :tag "Can not display value!") | |
6630 ,@choices)) | |
6631 (and after (widget-insert after))) | |
6632 | |
6633 | |
6634 (defun pr-insert-radio-button (var-sym sym) | |
6635 (widget-insert "\n") | |
6636 (let ((wid-list (get var-sym 'pr-widget-list)) | |
6637 (wid (eval `(widget-create | |
6638 'radio-button | |
6639 :format " %[%v%]" | |
6640 :value (eq ,var-sym (quote ,sym)) | |
6641 :notify (lambda (&rest ignore) | |
6642 (setq ,var-sym (quote ,sym)) | |
6643 (pr-update-radio-button (quote ,var-sym))))))) | |
6644 (put var-sym 'pr-widget-list (cons (cons wid sym) wid-list)))) | |
6645 | |
6646 | |
6647 (defun pr-update-radio-button (var-sym) | |
6648 (let ((wid-list (get var-sym 'pr-widget-list))) | |
6649 (while wid-list | |
6650 (let ((wid (car (car wid-list))) | |
6651 (value (cdr (car wid-list)))) | |
6652 (setq wid-list (cdr wid-list)) | |
6653 (widget-value-set wid (eq (symbol-value var-sym) value)))) | |
6654 (widget-setup))) | |
6655 | |
6656 | |
6657 (defun pr-update-checkbox (var-sym) | |
6658 (let ((wid (get var-sym 'pr-widget))) | |
6659 (when wid | |
6660 (widget-value-set wid (symbol-value var-sym)) | |
6661 (widget-setup)))) | |
6662 | |
6663 | |
6664 (defun pr-choice-alist (alist) | |
6665 (let ((max (apply 'max (mapcar #'(lambda (alist) | |
6666 (length (symbol-name (car alist)))) | |
6667 alist)))) | |
6668 (mapcar #'(lambda (alist) | |
6669 (let* ((sym (car alist)) | |
6670 (name (symbol-name sym))) | |
6671 (list | |
6672 'quote | |
6673 (list | |
6674 'choice-item | |
6675 :format "%[%t%]" | |
6676 :tag (concat name | |
6677 (make-string (- max (length name)) ?_)) | |
6678 :value sym)))) | |
6679 alist))) | |
6680 | |
6681 | |
6682 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
6683 | |
6684 | |
6685 (provide 'printing) | |
6686 | |
6687 | |
58138
a93efc8bd56c
(pr-get-symbol): Don't downcase.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
57241
diff
changeset
|
6688 ;; arch-tag: 9ce9ac3f-0f60-4370-900b-1943215d9d18 |
49646 | 6689 ;;; printing.el ends here |