aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinicius Jose Latorre2004-11-21 22:30:00 +0000
committerVinicius Jose Latorre2004-11-21 22:30:00 +0000
commitb6d0ac875cd0851a855a3c9f4922f83f36fb74d0 (patch)
tree9b23a0d956016bdeb4585eb56d841f8c554f0165
parentc1aa486418412c6e6eff46ceb7ff8b9276fa5263 (diff)
downloademacs-b6d0ac875cd0851a855a3c9f4922f83f36fb74d0.tar.gz
emacs-b6d0ac875cd0851a855a3c9f4922f83f36fb74d0.zip
:version & eval-and-compile & featurep
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/ps-print.el553
2 files changed, 327 insertions, 233 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2d2bc722885..fb1277c957c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
12004-11-21 Vinicius Jose Latorre <viniciusjl@ig.com.br>
2
3 * ps-print.el: Insert :version tag into all defgroup and defcustom.
4 Use (featurep 'xemacs) instead of (eq ps-print-emacs-type 'xemacs).
5 Eliminate eval-and-compile usage.
6 (ps-insert-file): Use insert-file-contents instead of insert-file.
7
12004-11-21 Jay Belanger <belanger@truman.edu> 82004-11-21 Jay Belanger <belanger@truman.edu>
2 9
3 * calc/calc-prog.el (math-integral-cache-state, calc-lang) 10 * calc/calc-prog.el (math-integral-cache-state, calc-lang)
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 78a558baebe..d238421798a 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -1443,115 +1443,115 @@ Please send all bug fixes and enhancements to
1443 1443
1444;;; Code: 1444;;; Code:
1445 1445
1446(eval-and-compile
1447 (require 'lpr)
1448 1446
1449 (or (featurep 'lisp-float-type) 1447(require 'lpr)
1450 (error "`ps-print' requires floating point support"))
1451 1448
1449(or (featurep 'lisp-float-type)
1450 (error "`ps-print' requires floating point support"))
1452 1451
1453 (defvar ps-print-emacs-type
1454 (let ((case-fold-search t))
1455 (cond ((string-match "XEmacs" emacs-version) 'xemacs)
1456 ((string-match "Lucid" emacs-version)
1457 (error "`ps-print' doesn't support Lucid"))
1458 ((string-match "Epoch" emacs-version)
1459 (error "`ps-print' doesn't support Epoch"))
1460 (t
1461 (unless (and (boundp 'emacs-major-version)
1462 (> emacs-major-version 19))
1463 (error "`ps-print' only supports Emacs 20 and higher"))
1464 'emacs))))
1465 1452
1453(defvar ps-print-emacs-type
1454 (let ((case-fold-search t))
1455 (cond ((string-match "XEmacs" emacs-version) 'xemacs)
1456 ((string-match "Lucid" emacs-version)
1457 (error "`ps-print' doesn't support Lucid"))
1458 ((string-match "Epoch" emacs-version)
1459 (error "`ps-print' doesn't support Epoch"))
1460 (t
1461 (unless (and (boundp 'emacs-major-version)
1462 (> emacs-major-version 19))
1463 (error "`ps-print' only supports Emacs 20 and higher"))
1464 'emacs))))
1466 1465
1467 ;; For Emacs 20.2 and the earlier version.
1468 1466
1469 (or (fboundp 'set-buffer-multibyte) 1467;; For Emacs 20.2 and the earlier version.
1470 (defun set-buffer-multibyte (arg)
1471 (setq enable-multibyte-characters arg)))
1472 1468
1473 (or (fboundp 'string-as-unibyte) 1469(or (fboundp 'set-buffer-multibyte)
1474 (defun string-as-unibyte (arg) arg)) 1470 (defun set-buffer-multibyte (arg)
1471 (setq enable-multibyte-characters arg)))
1475 1472
1476 (or (fboundp 'string-as-multibyte) 1473(or (fboundp 'string-as-unibyte)
1477 (defun string-as-multibyte (arg) arg)) 1474 (defun string-as-unibyte (arg) arg))
1478 1475
1479 (or (fboundp 'char-charset) 1476(or (fboundp 'string-as-multibyte)
1480 (defun char-charset (arg) 'ascii)) 1477 (defun string-as-multibyte (arg) arg))
1481 1478
1482 (or (fboundp 'charset-after) 1479(or (fboundp 'char-charset)
1483 (defun charset-after (&optional arg) 1480 (defun char-charset (arg) 'ascii))
1484 (char-charset (char-after arg))))
1485 1481
1482(or (fboundp 'charset-after)
1483 (defun charset-after (&optional arg)
1484 (char-charset (char-after arg))))
1486 1485
1487 ;; GNU Emacs 1486
1488 (or (fboundp 'line-beginning-position) 1487;; GNU Emacs
1489 (defun line-beginning-position (&optional n) 1488(or (fboundp 'line-beginning-position)
1490 (save-excursion 1489 (defun line-beginning-position (&optional n)
1491 (and n (/= n 1) (forward-line (1- n))) 1490 (save-excursion
1492 (beginning-of-line) 1491 (and n (/= n 1) (forward-line (1- n)))
1493 (point)))) 1492 (beginning-of-line)
1494 1493 (point))))
1495 1494
1496 ;; to avoid compilation gripes 1495
1497 1496;; to avoid compilation gripes
1498 ;; XEmacs 1497
1499 (defalias 'ps-x-color-instance-p 'color-instance-p) 1498;; XEmacs
1500 (defalias 'ps-x-color-instance-rgb-components 'color-instance-rgb-components) 1499(defalias 'ps-x-color-instance-p 'color-instance-p)
1501 (defalias 'ps-x-color-name 'color-name) 1500(defalias 'ps-x-color-instance-rgb-components 'color-instance-rgb-components)
1502 (defalias 'ps-x-color-specifier-p 'color-specifier-p) 1501(defalias 'ps-x-color-name 'color-name)
1503 (defalias 'ps-x-copy-coding-system 'copy-coding-system) 1502(defalias 'ps-x-color-specifier-p 'color-specifier-p)
1504 (defalias 'ps-x-device-class 'device-class) 1503(defalias 'ps-x-copy-coding-system 'copy-coding-system)
1505 (defalias 'ps-x-extent-end-position 'extent-end-position) 1504(defalias 'ps-x-device-class 'device-class)
1506 (defalias 'ps-x-extent-face 'extent-face) 1505(defalias 'ps-x-extent-end-position 'extent-end-position)
1507 (defalias 'ps-x-extent-priority 'extent-priority) 1506(defalias 'ps-x-extent-face 'extent-face)
1508 (defalias 'ps-x-extent-start-position 'extent-start-position) 1507(defalias 'ps-x-extent-priority 'extent-priority)
1509 (defalias 'ps-x-face-font-instance 'face-font-instance) 1508(defalias 'ps-x-extent-start-position 'extent-start-position)
1510 (defalias 'ps-x-find-coding-system 'find-coding-system) 1509(defalias 'ps-x-face-font-instance 'face-font-instance)
1511 (defalias 'ps-x-font-instance-properties 'font-instance-properties) 1510(defalias 'ps-x-find-coding-system 'find-coding-system)
1512 (defalias 'ps-x-make-color-instance 'make-color-instance) 1511(defalias 'ps-x-font-instance-properties 'font-instance-properties)
1513 (defalias 'ps-x-map-extents 'map-extents) 1512(defalias 'ps-x-make-color-instance 'make-color-instance)
1514 1513(defalias 'ps-x-map-extents 'map-extents)
1515 ;; GNU Emacs 1514
1516 (defalias 'ps-e-face-bold-p 'face-bold-p) 1515;; GNU Emacs
1517 (defalias 'ps-e-face-italic-p 'face-italic-p) 1516(defalias 'ps-e-face-bold-p 'face-bold-p)
1518 (defalias 'ps-e-next-overlay-change 'next-overlay-change) 1517(defalias 'ps-e-face-italic-p 'face-italic-p)
1519 (defalias 'ps-e-overlays-at 'overlays-at) 1518(defalias 'ps-e-next-overlay-change 'next-overlay-change)
1520 (defalias 'ps-e-overlay-get 'overlay-get) 1519(defalias 'ps-e-overlays-at 'overlays-at)
1521 (defalias 'ps-e-overlay-end 'overlay-end) 1520(defalias 'ps-e-overlay-get 'overlay-get)
1522 (defalias 'ps-e-x-color-values 'x-color-values) 1521(defalias 'ps-e-overlay-end 'overlay-end)
1523 (defalias 'ps-e-color-values 'color-values) 1522(defalias 'ps-e-x-color-values 'x-color-values)
1524 (if (fboundp 'find-composition) 1523(defalias 'ps-e-color-values 'color-values)
1525 (defalias 'ps-e-find-composition 'find-composition) 1524(if (fboundp 'find-composition)
1526 (defalias 'ps-e-find-composition 'ignore)) 1525 (defalias 'ps-e-find-composition 'find-composition)
1527 1526 (defalias 'ps-e-find-composition 'ignore))
1528 1527
1529 (defconst ps-windows-system 1528
1530 (memq system-type '(emx win32 w32 mswindows ms-dos windows-nt))) 1529(defconst ps-windows-system
1531 (defconst ps-lp-system 1530 (memq system-type '(emx win32 w32 mswindows ms-dos windows-nt)))
1532 (memq system-type '(usg-unix-v dgux hpux irix))) 1531(defconst ps-lp-system
1533 1532 (memq system-type '(usg-unix-v dgux hpux irix)))
1534 1533
1535 (defun ps-xemacs-color-name (color) 1534
1536 (if (ps-x-color-specifier-p color) 1535(defun ps-xemacs-color-name (color)
1537 (ps-x-color-name color) 1536 (if (ps-x-color-specifier-p color)
1538 color)) 1537 (ps-x-color-name color)
1539 1538 color))
1540 1539
1541 (cond ((eq ps-print-emacs-type 'emacs) ; emacs 1540
1542 (defvar mark-active nil) 1541(cond ((featurep 'xemacs) ; xemacs
1543 (defun ps-mark-active-p () 1542 (defalias 'ps-mark-active-p 'region-active-p)
1544 mark-active) 1543 (defun ps-face-foreground-name (face)
1545 (defalias 'ps-face-foreground-name 'face-foreground) 1544 (ps-xemacs-color-name (face-foreground face)))
1546 (defalias 'ps-face-background-name 'face-background) 1545 (defun ps-face-background-name (face)
1547 ) 1546 (ps-xemacs-color-name (face-background face)))
1548 (t ; xemacs 1547 )
1549 (defalias 'ps-mark-active-p 'region-active-p) 1548 (t ; emacs
1550 (defun ps-face-foreground-name (face) 1549 (defvar mark-active nil)
1551 (ps-xemacs-color-name (face-foreground face))) 1550 (defun ps-mark-active-p ()
1552 (defun ps-face-background-name (face) 1551 mark-active)
1553 (ps-xemacs-color-name (face-background face))) 1552 (defalias 'ps-face-foreground-name 'face-foreground)
1554 ))) 1553 (defalias 'ps-face-background-name 'face-background)
1554 ))
1555 1555
1556 1556
1557;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1557;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -1563,12 +1563,14 @@ Please send all bug fixes and enhancements to
1563(defgroup postscript nil 1563(defgroup postscript nil
1564 "PostScript Group" 1564 "PostScript Group"
1565 :tag "PostScript" 1565 :tag "PostScript"
1566 :version "20"
1566 :group 'emacs) 1567 :group 'emacs)
1567 1568
1568(defgroup ps-print nil 1569(defgroup ps-print nil
1569 "PostScript generator for Emacs" 1570 "PostScript generator for Emacs"
1570 :link '(emacs-library-link :tag "Source Lisp File" "ps-print.el") 1571 :link '(emacs-library-link :tag "Source Lisp File" "ps-print.el")
1571 :prefix "ps-" 1572 :prefix "ps-"
1573 :version "20"
1572 :group 'wp 1574 :group 'wp
1573 :group 'postscript) 1575 :group 'postscript)
1574 1576
@@ -1576,36 +1578,42 @@ Please send all bug fixes and enhancements to
1576 "Horizontal page layout" 1578 "Horizontal page layout"
1577 :prefix "ps-" 1579 :prefix "ps-"
1578 :tag "Horizontal" 1580 :tag "Horizontal"
1581 :version "20"
1579 :group 'ps-print) 1582 :group 'ps-print)
1580 1583
1581(defgroup ps-print-vertical nil 1584(defgroup ps-print-vertical nil
1582 "Vertical page layout" 1585 "Vertical page layout"
1583 :prefix "ps-" 1586 :prefix "ps-"
1584 :tag "Vertical" 1587 :tag "Vertical"
1588 :version "20"
1585 :group 'ps-print) 1589 :group 'ps-print)
1586 1590
1587(defgroup ps-print-headers nil 1591(defgroup ps-print-headers nil
1588 "Headers & footers layout" 1592 "Headers & footers layout"
1589 :prefix "ps-" 1593 :prefix "ps-"
1590 :tag "Header & Footer" 1594 :tag "Header & Footer"
1595 :version "20"
1591 :group 'ps-print) 1596 :group 'ps-print)
1592 1597
1593(defgroup ps-print-font nil 1598(defgroup ps-print-font nil
1594 "Fonts customization" 1599 "Fonts customization"
1595 :prefix "ps-" 1600 :prefix "ps-"
1596 :tag "Font" 1601 :tag "Font"
1602 :version "20"
1597 :group 'ps-print) 1603 :group 'ps-print)
1598 1604
1599(defgroup ps-print-color nil 1605(defgroup ps-print-color nil
1600 "Color customization" 1606 "Color customization"
1601 :prefix "ps-" 1607 :prefix "ps-"
1602 :tag "Color" 1608 :tag "Color"
1609 :version "20"
1603 :group 'ps-print) 1610 :group 'ps-print)
1604 1611
1605(defgroup ps-print-face nil 1612(defgroup ps-print-face nil
1606 "Faces customization" 1613 "Faces customization"
1607 :prefix "ps-" 1614 :prefix "ps-"
1608 :tag "PS Faces" 1615 :tag "PS Faces"
1616 :version "20"
1609 :group 'ps-print 1617 :group 'ps-print
1610 :group 'faces) 1618 :group 'faces)
1611 1619
@@ -1613,36 +1621,42 @@ Please send all bug fixes and enhancements to
1613 "N-up customization" 1621 "N-up customization"
1614 :prefix "ps-" 1622 :prefix "ps-"
1615 :tag "N-Up" 1623 :tag "N-Up"
1624 :version "20"
1616 :group 'ps-print) 1625 :group 'ps-print)
1617 1626
1618(defgroup ps-print-zebra nil 1627(defgroup ps-print-zebra nil
1619 "Zebra customization" 1628 "Zebra customization"
1620 :prefix "ps-" 1629 :prefix "ps-"
1621 :tag "Zebra" 1630 :tag "Zebra"
1631 :version "20"
1622 :group 'ps-print) 1632 :group 'ps-print)
1623 1633
1624(defgroup ps-print-background nil 1634(defgroup ps-print-background nil
1625 "Background customization" 1635 "Background customization"
1626 :prefix "ps-" 1636 :prefix "ps-"
1627 :tag "Background" 1637 :tag "Background"
1638 :version "20"
1628 :group 'ps-print) 1639 :group 'ps-print)
1629 1640
1630(defgroup ps-print-printer '((lpr custom-group)) 1641(defgroup ps-print-printer '((lpr custom-group))
1631 "Printer customization" 1642 "Printer customization"
1632 :prefix "ps-" 1643 :prefix "ps-"
1633 :tag "Printer" 1644 :tag "Printer"
1645 :version "20"
1634 :group 'ps-print) 1646 :group 'ps-print)
1635 1647
1636(defgroup ps-print-page nil 1648(defgroup ps-print-page nil
1637 "Page customization" 1649 "Page customization"
1638 :prefix "ps-" 1650 :prefix "ps-"
1639 :tag "Page" 1651 :tag "Page"
1652 :version "20"
1640 :group 'ps-print) 1653 :group 'ps-print)
1641 1654
1642(defgroup ps-print-miscellany nil 1655(defgroup ps-print-miscellany nil
1643 "Miscellany customization" 1656 "Miscellany customization"
1644 :prefix "ps-" 1657 :prefix "ps-"
1645 :tag "Miscellany" 1658 :tag "Miscellany"
1659 :version "20"
1646 :group 'ps-print) 1660 :group 'ps-print)
1647 1661
1648 1662
@@ -1669,6 +1683,7 @@ Any other value is treated as `paper'."
1669 :tag "Error Handler Message" 1683 :tag "Error Handler Message"
1670 (const none) (const paper) 1684 (const none) (const paper)
1671 (const system) (const paper-and-system)) 1685 (const system) (const paper-and-system))
1686 :version "20"
1672 :group 'ps-print-miscellany) 1687 :group 'ps-print-miscellany)
1673 1688
1674(defcustom ps-user-defined-prologue nil 1689(defcustom ps-user-defined-prologue nil
@@ -1700,6 +1715,7 @@ As an example for `ps-user-defined-prologue' setting:
1700 :type '(choice :menu-tag "User Defined Prologue" 1715 :type '(choice :menu-tag "User Defined Prologue"
1701 :tag "User Defined Prologue" 1716 :tag "User Defined Prologue"
1702 (const :tag "none" nil) string symbol) 1717 (const :tag "none" nil) string symbol)
1718 :version "20"
1703 :group 'ps-print-miscellany) 1719 :group 'ps-print-miscellany)
1704 1720
1705(defcustom ps-print-prologue-header nil 1721(defcustom ps-print-prologue-header nil
@@ -1729,6 +1745,7 @@ For more information about PostScript document comments, see:
1729 :type '(choice :menu-tag "Prologue Header" 1745 :type '(choice :menu-tag "Prologue Header"
1730 :tag "Prologue Header" 1746 :tag "Prologue Header"
1731 (const :tag "none" nil) string symbol) 1747 (const :tag "none" nil) string symbol)
1748 :version "20"
1732 :group 'ps-print-miscellany) 1749 :group 'ps-print-miscellany)
1733 1750
1734(defcustom ps-printer-name (and (boundp 'printer-name) 1751(defcustom ps-printer-name (and (boundp 'printer-name)
@@ -1760,6 +1777,7 @@ See also `ps-printer-name-option' for documentation."
1760 (const :tag "No Printer Name" t) 1777 (const :tag "No Printer Name" t)
1761 (file :tag "Print to file") 1778 (file :tag "Print to file")
1762 (string :tag "Pipe to ps-lpr-command")) 1779 (string :tag "Pipe to ps-lpr-command"))
1780 :version "20"
1763 :group 'ps-print-printer) 1781 :group 'ps-print-printer)
1764 1782
1765(defcustom ps-printer-name-option 1783(defcustom ps-printer-name-option
@@ -1803,6 +1821,7 @@ Novell Netware respectively) are handled specially, using `ps-printer-name' as
1803the destination for output; any other program is treated like `lpr' except that 1821the destination for output; any other program is treated like `lpr' except that
1804an explicit filename is given as the last argument." 1822an explicit filename is given as the last argument."
1805 :type 'string 1823 :type 'string
1824 :version "20"
1806 :group 'ps-print-printer) 1825 :group 'ps-print-printer)
1807 1826
1808(defcustom ps-lpr-switches lpr-switches 1827(defcustom ps-lpr-switches lpr-switches
@@ -1811,6 +1830,7 @@ an explicit filename is given as the last argument."
1811 (choice :menu-tag "PostScript lpr Switch" 1830 (choice :menu-tag "PostScript lpr Switch"
1812 :tag "PostScript lpr Switch" 1831 :tag "PostScript lpr Switch"
1813 string symbol (repeat sexp))) 1832 string symbol (repeat sexp)))
1833 :version "20"
1814 :group 'ps-print-printer) 1834 :group 'ps-print-printer)
1815 1835
1816(defcustom ps-print-region-function nil 1836(defcustom ps-print-region-function nil
@@ -1818,6 +1838,7 @@ an explicit filename is given as the last argument."
1818See definition of `call-process-region' for calling conventions. The fourth 1838See definition of `call-process-region' for calling conventions. The fourth
1819and the sixth arguments are both nil." 1839and the sixth arguments are both nil."
1820 :type '(choice (const nil) function) 1840 :type '(choice (const nil) function)
1841 :version "20"
1821 :group 'ps-print-printer) 1842 :group 'ps-print-printer)
1822 1843
1823(defcustom ps-manual-feed nil 1844(defcustom ps-manual-feed nil
@@ -1825,12 +1846,14 @@ and the sixth arguments are both nil."
1825 1846
1826If it's nil, automatic feeding takes place." 1847If it's nil, automatic feeding takes place."
1827 :type 'boolean 1848 :type 'boolean
1849 :version "20"
1828 :group 'ps-print-printer) 1850 :group 'ps-print-printer)
1829 1851
1830(defcustom ps-end-with-control-d (and ps-windows-system t) 1852(defcustom ps-end-with-control-d (and ps-windows-system t)
1831 "*Non-nil means insert C-d at end of PostScript file generated." 1853 "*Non-nil means insert C-d at end of PostScript file generated."
1832 :version "21.1" 1854 :version "21.1"
1833 :type 'boolean 1855 :type 'boolean
1856 :version "20"
1834 :group 'ps-print-printer) 1857 :group 'ps-print-printer)
1835 1858
1836;;; Page layout 1859;;; Page layout
@@ -1874,6 +1897,7 @@ See `ps-paper-type'."
1874 (number :tag "Width") 1897 (number :tag "Width")
1875 (number :tag "Height") 1898 (number :tag "Height")
1876 (string :tag "Media"))) 1899 (string :tag "Media")))
1900 :version "20"
1877 :group 'ps-print-page) 1901 :group 'ps-print-page)
1878 1902
1879;;;###autoload 1903;;;###autoload
@@ -1887,6 +1911,7 @@ example `letter', `legal' or `a4'."
1887 nil 1911 nil
1888 (widget-put wid :error "Unknown paper size") 1912 (widget-put wid :error "Unknown paper size")
1889 wid))) 1913 wid)))
1914 :version "20"
1890 :group 'ps-print-page) 1915 :group 'ps-print-page)
1891 1916
1892(defcustom ps-warn-paper-type t 1917(defcustom ps-warn-paper-type t
@@ -1894,11 +1919,13 @@ example `letter', `legal' or `a4'."
1894 1919
1895It's used when `ps-spool-config' is set to `setpagedevice'." 1920It's used when `ps-spool-config' is set to `setpagedevice'."
1896 :type 'boolean 1921 :type 'boolean
1922 :version "20"
1897 :group 'ps-print-page) 1923 :group 'ps-print-page)
1898 1924
1899(defcustom ps-landscape-mode nil 1925(defcustom ps-landscape-mode nil
1900 "*Non-nil means print in landscape mode." 1926 "*Non-nil means print in landscape mode."
1901 :type 'boolean 1927 :type 'boolean
1928 :version "20"
1902 :group 'ps-print-page) 1929 :group 'ps-print-page)
1903 1930
1904(defcustom ps-print-upside-down nil 1931(defcustom ps-print-upside-down nil
@@ -1931,6 +1958,7 @@ See also `ps-even-or-odd-pages'."
1931 (cons :tag "Range" 1958 (cons :tag "Range"
1932 (integer :tag "From") 1959 (integer :tag "From")
1933 (integer :tag "To")))) 1960 (integer :tag "To"))))
1961 :version "20"
1934 :group 'ps-print-page) 1962 :group 'ps-print-page)
1935 1963
1936(defcustom ps-even-or-odd-pages nil 1964(defcustom ps-even-or-odd-pages nil
@@ -1989,6 +2017,7 @@ sheet parity."
1989 (const :tag "Only Odd Pages" odd-page) 2017 (const :tag "Only Odd Pages" odd-page)
1990 (const :tag "Only Even Sheets" even-sheet) 2018 (const :tag "Only Even Sheets" even-sheet)
1991 (const :tag "Only Odd Sheets" odd-sheet)) 2019 (const :tag "Only Odd Sheets" odd-sheet))
2020 :version "20"
1992 :group 'ps-print-page) 2021 :group 'ps-print-page)
1993 2022
1994(defcustom ps-print-control-characters 'control-8-bit 2023(defcustom ps-print-control-characters 'control-8-bit
@@ -2020,6 +2049,7 @@ Any other value is treated as nil."
2020 :tag "Control Char" 2049 :tag "Control Char"
2021 (const 8-bit) (const control-8-bit) 2050 (const 8-bit) (const control-8-bit)
2022 (const control) (const :tag "nil" nil)) 2051 (const control) (const :tag "nil" nil))
2052 :version "20"
2023 :group 'ps-print-miscellany) 2053 :group 'ps-print-miscellany)
2024 2054
2025(defcustom ps-n-up-printing 1 2055(defcustom ps-n-up-printing 1
@@ -2035,16 +2065,19 @@ Any other value is treated as nil."
2035 wid :error 2065 wid :error
2036 "Number of pages per sheet paper must be between 1 and 100.") 2066 "Number of pages per sheet paper must be between 1 and 100.")
2037 wid))) 2067 wid)))
2068 :version "20"
2038 :group 'ps-print-n-up) 2069 :group 'ps-print-n-up)
2039 2070
2040(defcustom ps-n-up-margin (/ (* 72 1.0) 2.54) ; 1 cm 2071(defcustom ps-n-up-margin (/ (* 72 1.0) 2.54) ; 1 cm
2041 "*Specify the margin in points between the sheet border and n-up printing." 2072 "*Specify the margin in points between the sheet border and n-up printing."
2042 :type 'number 2073 :type 'number
2074 :version "20"
2043 :group 'ps-print-n-up) 2075 :group 'ps-print-n-up)
2044 2076
2045(defcustom ps-n-up-border-p t 2077(defcustom ps-n-up-border-p t
2046 "*Non-nil means a border is drawn around each page." 2078 "*Non-nil means a border is drawn around each page."
2047 :type 'boolean 2079 :type 'boolean
2080 :version "20"
2048 :group 'ps-print-n-up) 2081 :group 'ps-print-n-up)
2049 2082
2050(defcustom ps-n-up-filling 'left-top 2083(defcustom ps-n-up-filling 'left-top
@@ -2076,23 +2109,27 @@ Any other value is treated as `left-top'."
2076 (const right-top) (const right-bottom) 2109 (const right-top) (const right-bottom)
2077 (const top-left) (const bottom-left) 2110 (const top-left) (const bottom-left)
2078 (const top-right) (const bottom-right)) 2111 (const top-right) (const bottom-right))
2112 :version "20"
2079 :group 'ps-print-n-up) 2113 :group 'ps-print-n-up)
2080 2114
2081(defcustom ps-number-of-columns (if ps-landscape-mode 2 1) 2115(defcustom ps-number-of-columns (if ps-landscape-mode 2 1)
2082 "*Specify the number of columns." 2116 "*Specify the number of columns."
2083 :type 'number 2117 :type 'number
2118 :version "20"
2084 :group 'ps-print-miscellany) 2119 :group 'ps-print-miscellany)
2085 2120
2086(defcustom ps-zebra-stripes nil 2121(defcustom ps-zebra-stripes nil
2087 "*Non-nil means print zebra stripes. 2122 "*Non-nil means print zebra stripes.
2088See also documentation for `ps-zebra-stripe-height' and `ps-zebra-color'." 2123See also documentation for `ps-zebra-stripe-height' and `ps-zebra-color'."
2089 :type 'boolean 2124 :type 'boolean
2125 :version "20"
2090 :group 'ps-print-zebra) 2126 :group 'ps-print-zebra)
2091 2127
2092(defcustom ps-zebra-stripe-height 3 2128(defcustom ps-zebra-stripe-height 3
2093 "*Number of zebra stripe lines. 2129 "*Number of zebra stripe lines.
2094See also documentation for `ps-zebra-stripes' and `ps-zebra-color'." 2130See also documentation for `ps-zebra-stripes' and `ps-zebra-color'."
2095 :type 'number 2131 :type 'number
2132 :version "20"
2096 :group 'ps-print-zebra) 2133 :group 'ps-print-zebra)
2097 2134
2098(defcustom ps-zebra-color 0.95 2135(defcustom ps-zebra-color 0.95
@@ -2106,6 +2143,7 @@ See also documentation for `ps-zebra-stripes' and `ps-zebra-stripe-height'."
2106 (number :tag "Red") 2143 (number :tag "Red")
2107 (number :tag "Green") 2144 (number :tag "Green")
2108 (number :tag "Blue"))) 2145 (number :tag "Blue")))
2146 :version "20"
2109 :group 'ps-print-zebra) 2147 :group 'ps-print-zebra)
2110 2148
2111(defcustom ps-zebra-stripe-follow nil 2149(defcustom ps-zebra-stripe-follow nil
@@ -2149,11 +2187,13 @@ Any other value is treated as nil."
2149 (const :tag "Continue on Next Page" follow) 2187 (const :tag "Continue on Next Page" follow)
2150 (const :tag "Print Only Full Stripe" full) 2188 (const :tag "Print Only Full Stripe" full)
2151 (const :tag "Continue on Full Stripe" full-follow)) 2189 (const :tag "Continue on Full Stripe" full-follow))
2190 :version "20"
2152 :group 'ps-print-zebra) 2191 :group 'ps-print-zebra)
2153 2192
2154(defcustom ps-line-number nil 2193(defcustom ps-line-number nil
2155 "*Non-nil means print line number." 2194 "*Non-nil means print line number."
2156 :type 'boolean 2195 :type 'boolean
2196 :version "20"
2157 :group 'ps-print-miscellany) 2197 :group 'ps-print-miscellany)
2158 2198
2159(defcustom ps-line-number-step 1 2199(defcustom ps-line-number-step 1
@@ -2183,6 +2223,7 @@ Any other value is treated as `zebra'."
2183 :tag "Line Number Step" 2223 :tag "Line Number Step"
2184 (integer :tag "Step Interval") 2224 (integer :tag "Step Interval")
2185 (const :tag "Synchronize Zebra" zebra)) 2225 (const :tag "Synchronize Zebra" zebra))
2226 :version "20"
2186 :group 'ps-print-miscellany) 2227 :group 'ps-print-miscellany)
2187 2228
2188(defcustom ps-line-number-start 1 2229(defcustom ps-line-number-start 1
@@ -2212,6 +2253,7 @@ The values for `ps-line-number-start':
2212 value of `ps-zebra-strip-height' inclusive. Use this combination if you 2253 value of `ps-zebra-strip-height' inclusive. Use this combination if you
2213 wish that line number be relative to zebra stripes." 2254 wish that line number be relative to zebra stripes."
2214 :type '(integer :tag "Start Step Interval") 2255 :type '(integer :tag "Start Step Interval")
2256 :version "20"
2215 :group 'ps-print-miscellany) 2257 :group 'ps-print-miscellany)
2216 2258
2217(defcustom ps-print-background-image nil 2259(defcustom ps-print-background-image nil
@@ -2258,6 +2300,7 @@ For example, if you wish to print an EPS image on all pages do:
2258 (cons :tag "Range" 2300 (cons :tag "Range"
2259 (integer :tag "From") 2301 (integer :tag "From")
2260 (integer :tag "To")))))) 2302 (integer :tag "To"))))))
2303 :version "20"
2261 :group 'ps-print-background) 2304 :group 'ps-print-background)
2262 2305
2263(defcustom ps-print-background-text nil 2306(defcustom ps-print-background-text nil
@@ -2309,6 +2352,7 @@ For example, if you wish to print text \"Preliminary\" on all pages do:
2309 (cons :tag "Range" 2352 (cons :tag "Range"
2310 (integer :tag "From") 2353 (integer :tag "From")
2311 (integer :tag "To")))))) 2354 (integer :tag "To"))))))
2355 :version "20"
2312 :group 'ps-print-background) 2356 :group 'ps-print-background)
2313 2357
2314;;; Horizontal layout 2358;;; Horizontal layout
@@ -2322,16 +2366,19 @@ For example, if you wish to print text \"Preliminary\" on all pages do:
2322(defcustom ps-left-margin (/ (* 72 2.0) 2.54) ; 2 cm 2366(defcustom ps-left-margin (/ (* 72 2.0) 2.54) ; 2 cm
2323 "*Left margin in points (1/72 inch)." 2367 "*Left margin in points (1/72 inch)."
2324 :type 'number 2368 :type 'number
2369 :version "20"
2325 :group 'ps-print-horizontal) 2370 :group 'ps-print-horizontal)
2326 2371
2327(defcustom ps-right-margin (/ (* 72 2.0) 2.54) ; 2 cm 2372(defcustom ps-right-margin (/ (* 72 2.0) 2.54) ; 2 cm
2328 "*Right margin in points (1/72 inch)." 2373 "*Right margin in points (1/72 inch)."
2329 :type 'number 2374 :type 'number
2375 :version "20"
2330 :group 'ps-print-horizontal) 2376 :group 'ps-print-horizontal)
2331 2377
2332(defcustom ps-inter-column (/ (* 72 2.0) 2.54) ; 2 cm 2378(defcustom ps-inter-column (/ (* 72 2.0) 2.54) ; 2 cm
2333 "*Horizontal space between columns in points (1/72 inch)." 2379 "*Horizontal space between columns in points (1/72 inch)."
2334 :type 'number 2380 :type 'number
2381 :version "20"
2335 :group 'ps-print-horizontal) 2382 :group 'ps-print-horizontal)
2336 2383
2337;;; Vertical layout 2384;;; Vertical layout
@@ -2351,16 +2398,19 @@ For example, if you wish to print text \"Preliminary\" on all pages do:
2351(defcustom ps-bottom-margin (/ (* 72 1.5) 2.54) ; 1.5 cm 2398(defcustom ps-bottom-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
2352 "*Bottom margin in points (1/72 inch)." 2399 "*Bottom margin in points (1/72 inch)."
2353 :type 'number 2400 :type 'number
2401 :version "20"
2354 :group 'ps-print-vertical) 2402 :group 'ps-print-vertical)
2355 2403
2356(defcustom ps-top-margin (/ (* 72 1.5) 2.54) ; 1.5 cm 2404(defcustom ps-top-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
2357 "*Top margin in points (1/72 inch)." 2405 "*Top margin in points (1/72 inch)."
2358 :type 'number 2406 :type 'number
2407 :version "20"
2359 :group 'ps-print-vertical) 2408 :group 'ps-print-vertical)
2360 2409
2361(defcustom ps-header-offset (/ (* 72 1.0) 2.54) ; 1.0 cm 2410(defcustom ps-header-offset (/ (* 72 1.0) 2.54) ; 1.0 cm
2362 "*Vertical space in points (1/72 inch) between the main text and the header." 2411 "*Vertical space in points (1/72 inch) between the main text and the header."
2363 :type 'number 2412 :type 'number
2413 :version "20"
2364 :group 'ps-print-vertical) 2414 :group 'ps-print-vertical)
2365 2415
2366(defcustom ps-header-line-pad 0.15 2416(defcustom ps-header-line-pad 0.15
@@ -2368,11 +2418,13 @@ For example, if you wish to print text \"Preliminary\" on all pages do:
2368The insertion is done between the header frame and the text it contains, 2418The insertion is done between the header frame and the text it contains,
2369both in the vertical and horizontal directions." 2419both in the vertical and horizontal directions."
2370 :type 'number 2420 :type 'number
2421 :version "20"
2371 :group 'ps-print-vertical) 2422 :group 'ps-print-vertical)
2372 2423
2373(defcustom ps-footer-offset (/ (* 72 1.0) 2.54) ; 1.0 cm 2424(defcustom ps-footer-offset (/ (* 72 1.0) 2.54) ; 1.0 cm
2374 "*Vertical space in points (1/72 inch) between the main text and the footer." 2425 "*Vertical space in points (1/72 inch) between the main text and the footer."
2375 :type 'number 2426 :type 'number
2427 :version "20"
2376 :group 'ps-print-vertical) 2428 :group 'ps-print-vertical)
2377 2429
2378(defcustom ps-footer-line-pad 0.15 2430(defcustom ps-footer-line-pad 0.15
@@ -2380,6 +2432,7 @@ both in the vertical and horizontal directions."
2380The insertion is done between the footer frame and the text it contains, 2432The insertion is done between the footer frame and the text it contains,
2381both in the vertical and horizontal directions." 2433both in the vertical and horizontal directions."
2382 :type 'number 2434 :type 'number
2435 :version "20"
2383 :group 'ps-print-vertical) 2436 :group 'ps-print-vertical)
2384 2437
2385;;; Header/Footer setup 2438;;; Header/Footer setup
@@ -2390,11 +2443,13 @@ By default, the header displays the buffer name, page number, and, if the
2390buffer is visiting a file, the file's directory. Headers are customizable by 2443buffer is visiting a file, the file's directory. Headers are customizable by
2391changing variables `ps-left-header' and `ps-right-header'." 2444changing variables `ps-left-header' and `ps-right-header'."
2392 :type 'boolean 2445 :type 'boolean
2446 :version "20"
2393 :group 'ps-print-headers) 2447 :group 'ps-print-headers)
2394 2448
2395(defcustom ps-print-header-frame t 2449(defcustom ps-print-header-frame t
2396 "*Non-nil means draw a gaudy frame around the header." 2450 "*Non-nil means draw a gaudy frame around the header."
2397 :type 'boolean 2451 :type 'boolean
2452 :version "20"
2398 :group 'ps-print-headers) 2453 :group 'ps-print-headers)
2399 2454
2400(defcustom ps-header-frame-alist 2455(defcustom ps-header-frame-alist
@@ -2474,11 +2529,13 @@ Don't change this alist directly, instead use customization, or `ps-value',
2474 (number :tag "Red") 2529 (number :tag "Red")
2475 (number :tag "Green") 2530 (number :tag "Green")
2476 (number :tag "Blue")))))) 2531 (number :tag "Blue"))))))
2532 :version "20"
2477 :group 'ps-print-headers) 2533 :group 'ps-print-headers)
2478 2534
2479(defcustom ps-header-lines 2 2535(defcustom ps-header-lines 2
2480 "*Number of lines to display in page header, when generating PostScript." 2536 "*Number of lines to display in page header, when generating PostScript."
2481 :type 'integer 2537 :type 'integer
2538 :version "20"
2482 :group 'ps-print-headers) 2539 :group 'ps-print-headers)
2483 2540
2484(defcustom ps-print-footer nil 2541(defcustom ps-print-footer nil
@@ -2486,14 +2543,14 @@ Don't change this alist directly, instead use customization, or `ps-value',
2486By default, the footer displays page number. 2543By default, the footer displays page number.
2487Footers are customizable by changing variables `ps-left-footer' and 2544Footers are customizable by changing variables `ps-left-footer' and
2488`ps-right-footer'." 2545`ps-right-footer'."
2489 :version "21.1"
2490 :type 'boolean 2546 :type 'boolean
2547 :version "21.1"
2491 :group 'ps-print-headers) 2548 :group 'ps-print-headers)
2492 2549
2493(defcustom ps-print-footer-frame t 2550(defcustom ps-print-footer-frame t
2494 "*Non-nil means draw a gaudy frame around the footer." 2551 "*Non-nil means draw a gaudy frame around the footer."
2495 :version "21.1"
2496 :type 'boolean 2552 :type 'boolean
2553 :version "21.1"
2497 :group 'ps-print-headers) 2554 :group 'ps-print-headers)
2498 2555
2499(defcustom ps-footer-frame-alist 2556(defcustom ps-footer-frame-alist
@@ -2508,7 +2565,6 @@ Don't change this alist directly, instead use customization, or `ps-value',
2508`ps-get', `ps-put' and `ps-del' functions (see them for documentation). 2565`ps-get', `ps-put' and `ps-del' functions (see them for documentation).
2509 2566
2510See also `ps-header-frame-alist' for documentation." 2567See also `ps-header-frame-alist' for documentation."
2511 :version "21.1"
2512 :type '(repeat 2568 :type '(repeat
2513 (choice :menu-tag "Header Frame Element" 2569 (choice :menu-tag "Header Frame Element"
2514 :tag "" 2570 :tag ""
@@ -2555,12 +2611,13 @@ See also `ps-header-frame-alist' for documentation."
2555 (number :tag "Red") 2611 (number :tag "Red")
2556 (number :tag "Green") 2612 (number :tag "Green")
2557 (number :tag "Blue")))))) 2613 (number :tag "Blue"))))))
2614 :version "21.1"
2558 :group 'ps-print-headers) 2615 :group 'ps-print-headers)
2559 2616
2560(defcustom ps-footer-lines 2 2617(defcustom ps-footer-lines 2
2561 "*Number of lines to display in page footer, when generating PostScript." 2618 "*Number of lines to display in page footer, when generating PostScript."
2562 :version "21.1"
2563 :type 'integer 2619 :type 'integer
2620 :version "21.1"
2564 :group 'ps-print-headers) 2621 :group 'ps-print-headers)
2565 2622
2566(defcustom ps-print-only-one-header nil 2623(defcustom ps-print-only-one-header nil
@@ -2569,6 +2626,7 @@ This is useful when printing more than one column, so it is possible to have
2569only one header/footer over all columns or one header/footer per column. 2626only one header/footer over all columns or one header/footer per column.
2570See also `ps-print-header' and `ps-print-footer'." 2627See also `ps-print-header' and `ps-print-footer'."
2571 :type 'boolean 2628 :type 'boolean
2629 :version "20"
2572 :group 'ps-print-headers) 2630 :group 'ps-print-headers)
2573 2631
2574(defcustom ps-switch-header 'duplex 2632(defcustom ps-switch-header 'duplex
@@ -2591,6 +2649,7 @@ See also `ps-print-header' and `ps-print-footer'."
2591 (const :tag "Never Switch" nil) 2649 (const :tag "Never Switch" nil)
2592 (const :tag "Always Switch" t) 2650 (const :tag "Always Switch" t)
2593 (const :tag "Switch When Duplexing" duplex)) 2651 (const :tag "Switch When Duplexing" duplex))
2652 :version "20"
2594 :group 'ps-print-headers) 2653 :group 'ps-print-headers)
2595 2654
2596(defcustom ps-show-n-of-n t 2655(defcustom ps-show-n-of-n t
@@ -2598,6 +2657,7 @@ See also `ps-print-header' and `ps-print-footer'."
2598NOTE: page numbers are displayed as part of headers, 2657NOTE: page numbers are displayed as part of headers,
2599 see variable `ps-print-header'." 2658 see variable `ps-print-header'."
2600 :type 'boolean 2659 :type 'boolean
2660 :version "20"
2601 :group 'ps-print-headers) 2661 :group 'ps-print-headers)
2602 2662
2603(defcustom ps-spool-config 2663(defcustom ps-spool-config
@@ -2633,6 +2693,7 @@ WARNING: The setpagedevice PostScript operator affects ghostview utility when
2633 :tag "Spool Config" 2693 :tag "Spool Config"
2634 (const lpr-switches) (const setpagedevice) 2694 (const lpr-switches) (const setpagedevice)
2635 (const :tag "nil" nil)) 2695 (const :tag "nil" nil))
2696 :version "20"
2636 :group 'ps-print-headers) 2697 :group 'ps-print-headers)
2637 2698
2638(defcustom ps-spool-duplex nil ; Not many people have duplex printers, 2699(defcustom ps-spool-duplex nil ; Not many people have duplex printers,
@@ -2646,6 +2707,7 @@ even-numbered pages.
2646 2707
2647See also `ps-spool-tumble'." 2708See also `ps-spool-tumble'."
2648 :type 'boolean 2709 :type 'boolean
2710 :version "20"
2649 :group 'ps-print-headers) 2711 :group 'ps-print-headers)
2650 2712
2651(defcustom ps-spool-tumble nil 2713(defcustom ps-spool-tumble nil
@@ -2656,6 +2718,7 @@ binding at the top or bottom.
2656 2718
2657It has effect only when `ps-spool-duplex' is non-nil." 2719It has effect only when `ps-spool-duplex' is non-nil."
2658 :type 'boolean 2720 :type 'boolean
2721 :version "20"
2659 :group 'ps-print-headers) 2722 :group 'ps-print-headers)
2660 2723
2661;;; Fonts 2724;;; Fonts
@@ -2806,11 +2869,13 @@ uses the fonts resident in your printer."
2806 (cons :format "%v" 2869 (cons :format "%v"
2807 (const :format "" avg-char-width) 2870 (const :format "" avg-char-width)
2808 (number :tag "Average Character Width")))) 2871 (number :tag "Average Character Width"))))
2872 :version "20"
2809 :group 'ps-print-font) 2873 :group 'ps-print-font)
2810 2874
2811(defcustom ps-font-family 'Courier 2875(defcustom ps-font-family 'Courier
2812 "*Font family name for ordinary text, when generating PostScript." 2876 "*Font family name for ordinary text, when generating PostScript."
2813 :type 'symbol 2877 :type 'symbol
2878 :version "20"
2814 :group 'ps-print-font) 2879 :group 'ps-print-font)
2815 2880
2816(defcustom ps-font-size '(7 . 8.5) 2881(defcustom ps-font-size '(7 . 8.5)
@@ -2821,11 +2886,13 @@ uses the fonts resident in your printer."
2821 (cons :tag "Landscape/Portrait" 2886 (cons :tag "Landscape/Portrait"
2822 (number :tag "Landscape Text Size") 2887 (number :tag "Landscape Text Size")
2823 (number :tag "Portrait Text Size"))) 2888 (number :tag "Portrait Text Size")))
2889 :version "20"
2824 :group 'ps-print-font) 2890 :group 'ps-print-font)
2825 2891
2826(defcustom ps-header-font-family 'Helvetica 2892(defcustom ps-header-font-family 'Helvetica
2827 "*Font family name for text in the header, when generating PostScript." 2893 "*Font family name for text in the header, when generating PostScript."
2828 :type 'symbol 2894 :type 'symbol
2895 :version "20"
2829 :group 'ps-print-font) 2896 :group 'ps-print-font)
2830 2897
2831(defcustom ps-header-font-size '(10 . 12) 2898(defcustom ps-header-font-size '(10 . 12)
@@ -2836,6 +2903,7 @@ uses the fonts resident in your printer."
2836 (cons :tag "Landscape/Portrait" 2903 (cons :tag "Landscape/Portrait"
2837 (number :tag "Landscape Header Size") 2904 (number :tag "Landscape Header Size")
2838 (number :tag "Portrait Header Size"))) 2905 (number :tag "Portrait Header Size")))
2906 :version "20"
2839 :group 'ps-print-font) 2907 :group 'ps-print-font)
2840 2908
2841(defcustom ps-header-title-font-size '(12 . 14) 2909(defcustom ps-header-title-font-size '(12 . 14)
@@ -2846,23 +2914,24 @@ uses the fonts resident in your printer."
2846 (cons :tag "Landscape/Portrait" 2914 (cons :tag "Landscape/Portrait"
2847 (number :tag "Landscape Header Title Size") 2915 (number :tag "Landscape Header Title Size")
2848 (number :tag "Portrait Header Title Size"))) 2916 (number :tag "Portrait Header Title Size")))
2917 :version "20"
2849 :group 'ps-print-font) 2918 :group 'ps-print-font)
2850 2919
2851(defcustom ps-footer-font-family 'Helvetica 2920(defcustom ps-footer-font-family 'Helvetica
2852 "*Font family name for text in the footer, when generating PostScript." 2921 "*Font family name for text in the footer, when generating PostScript."
2853 :version "21.1"
2854 :type 'symbol 2922 :type 'symbol
2923 :version "21.1"
2855 :group 'ps-print-font) 2924 :group 'ps-print-font)
2856 2925
2857(defcustom ps-footer-font-size '(10 . 12) 2926(defcustom ps-footer-font-size '(10 . 12)
2858 "*Font size, in points, for text in the footer, when generating PostScript." 2927 "*Font size, in points, for text in the footer, when generating PostScript."
2859 :version "21.1"
2860 :type '(choice :menu-tag "Footer Font Size" 2928 :type '(choice :menu-tag "Footer Font Size"
2861 :tag "Footer Font Size" 2929 :tag "Footer Font Size"
2862 (number :tag "Footer Size") 2930 (number :tag "Footer Size")
2863 (cons :tag "Landscape/Portrait" 2931 (cons :tag "Landscape/Portrait"
2864 (number :tag "Landscape Footer Size") 2932 (number :tag "Landscape Footer Size")
2865 (number :tag "Portrait Footer Size"))) 2933 (number :tag "Portrait Footer Size")))
2934 :version "21.1"
2866 :group 'ps-print-font) 2935 :group 'ps-print-font)
2867 2936
2868(defcustom ps-line-number-color "black" 2937(defcustom ps-line-number-color "black"
@@ -2882,6 +2951,7 @@ uses the fonts resident in your printer."
2882(defcustom ps-line-number-font "Times-Italic" 2951(defcustom ps-line-number-font "Times-Italic"
2883 "*Font for line-number, when generating PostScript." 2952 "*Font for line-number, when generating PostScript."
2884 :type 'string 2953 :type 'string
2954 :version "20"
2885 :group 'ps-print-font 2955 :group 'ps-print-font
2886 :group 'ps-print-miscellany) 2956 :group 'ps-print-miscellany)
2887 2957
@@ -2893,6 +2963,7 @@ uses the fonts resident in your printer."
2893 (cons :tag "Landscape/Portrait" 2963 (cons :tag "Landscape/Portrait"
2894 (number :tag "Landscape Font Size") 2964 (number :tag "Landscape Font Size")
2895 (number :tag "Portrait Font Size"))) 2965 (number :tag "Portrait Font Size")))
2966 :version "20"
2896 :group 'ps-print-font 2967 :group 'ps-print-font
2897 :group 'ps-print-miscellany) 2968 :group 'ps-print-miscellany)
2898 2969
@@ -2923,6 +2994,7 @@ Any other value is treated as t."
2923 (const :tag "Do NOT Print Color" nil) 2994 (const :tag "Do NOT Print Color" nil)
2924 (const :tag "Print Always Color" t) 2995 (const :tag "Print Always Color" t)
2925 (const :tag "Print Black/White Color" black-white)) 2996 (const :tag "Print Black/White Color" black-white))
2997 :version "20"
2926 :group 'ps-print-color) 2998 :group 'ps-print-color)
2927 2999
2928(defcustom ps-default-fg '(0.0 0.0 0.0) ; black 3000(defcustom ps-default-fg '(0.0 0.0 0.0) ; black
@@ -2962,6 +3034,7 @@ It's used only when `ps-print-color-p' is non-nil."
2962 (number :tag "Red") 3034 (number :tag "Red")
2963 (number :tag "Green") 3035 (number :tag "Green")
2964 (number :tag "Blue"))) 3036 (number :tag "Blue")))
3037 :version "20"
2965 :group 'ps-print-color) 3038 :group 'ps-print-color)
2966 3039
2967(defcustom ps-default-bg '(1.0 1.0 1.0) ; white 3040(defcustom ps-default-bg '(1.0 1.0 1.0) ; white
@@ -3003,6 +3076,7 @@ See also `ps-use-face-background'."
3003 (number :tag "Red") 3076 (number :tag "Red")
3004 (number :tag "Green") 3077 (number :tag "Green")
3005 (number :tag "Blue"))) 3078 (number :tag "Blue")))
3079 :version "20"
3006 :group 'ps-print-color) 3080 :group 'ps-print-color)
3007 3081
3008(defcustom ps-auto-font-detect t 3082(defcustom ps-auto-font-detect t
@@ -3010,6 +3084,7 @@ See also `ps-use-face-background'."
3010If nil, we rely solely on the lists `ps-bold-faces', `ps-italic-faces', and 3084If nil, we rely solely on the lists `ps-bold-faces', `ps-italic-faces', and
3011`ps-underlined-faces'." 3085`ps-underlined-faces'."
3012 :type 'boolean 3086 :type 'boolean
3087 :version "20"
3013 :group 'ps-print-font) 3088 :group 'ps-print-font)
3014 3089
3015(defcustom ps-black-white-faces 3090(defcustom ps-black-white-faces
@@ -3049,6 +3124,7 @@ This variable is used only when `ps-print-color-p' is set to `black-white'."
3049 (const shadow) 3124 (const shadow)
3050 (const box) 3125 (const box)
3051 (const outline))))) 3126 (const outline)))))
3127 :version "20"
3052 :group 'ps-print-face) 3128 :group 'ps-print-face)
3053 3129
3054(defcustom ps-bold-faces 3130(defcustom ps-bold-faces
@@ -3061,6 +3137,7 @@ This variable is used only when `ps-print-color-p' is set to `black-white'."
3061 "*A list of the \(non-bold\) faces that should be printed in bold font. 3137 "*A list of the \(non-bold\) faces that should be printed in bold font.
3062This applies to generating PostScript." 3138This applies to generating PostScript."
3063 :type '(repeat face) 3139 :type '(repeat face)
3140 :version "20"
3064 :group 'ps-print-face) 3141 :group 'ps-print-face)
3065 3142
3066(defcustom ps-italic-faces 3143(defcustom ps-italic-faces
@@ -3073,6 +3150,7 @@ This applies to generating PostScript."
3073 "*A list of the \(non-italic\) faces that should be printed in italic font. 3150 "*A list of the \(non-italic\) faces that should be printed in italic font.
3074This applies to generating PostScript." 3151This applies to generating PostScript."
3075 :type '(repeat face) 3152 :type '(repeat face)
3153 :version "20"
3076 :group 'ps-print-face) 3154 :group 'ps-print-face)
3077 3155
3078(defcustom ps-underlined-faces 3156(defcustom ps-underlined-faces
@@ -3083,6 +3161,7 @@ This applies to generating PostScript."
3083 "*A list of the \(non-underlined\) faces that should be printed underlined. 3161 "*A list of the \(non-underlined\) faces that should be printed underlined.
3084This applies to generating PostScript." 3162This applies to generating PostScript."
3085 :type '(repeat face) 3163 :type '(repeat face)
3164 :version "20"
3086 :group 'ps-print-face) 3165 :group 'ps-print-face)
3087 3166
3088(defcustom ps-use-face-background nil 3167(defcustom ps-use-face-background nil
@@ -3102,6 +3181,7 @@ Any other value will be treated as t."
3102 (repeat :menu-tag "Face Background List" 3181 (repeat :menu-tag "Face Background List"
3103 :tag "Face Background List" 3182 :tag "Face Background List"
3104 face)) 3183 face))
3184 :version "20"
3105 :group 'ps-print-face) 3185 :group 'ps-print-face)
3106 3186
3107(defcustom ps-left-header 3187(defcustom ps-left-header
@@ -3125,6 +3205,7 @@ If symbols are unbounded, they are silently ignored."
3125 :type '(repeat (choice :menu-tag "Left Header" 3205 :type '(repeat (choice :menu-tag "Left Header"
3126 :tag "Left Header" 3206 :tag "Left Header"
3127 string symbol)) 3207 string symbol))
3208 :version "20"
3128 :group 'ps-print-headers) 3209 :group 'ps-print-headers)
3129 3210
3130(defcustom ps-right-header 3211(defcustom ps-right-header
@@ -3155,6 +3236,7 @@ You can also create your own time stamp function by using `format-time-string'
3155 :type '(repeat (choice :menu-tag "Right Header" 3236 :type '(repeat (choice :menu-tag "Right Header"
3156 :tag "Right Header" 3237 :tag "Right Header"
3157 string symbol)) 3238 string symbol))
3239 :version "20"
3158 :group 'ps-print-headers) 3240 :group 'ps-print-headers)
3159 3241
3160(defcustom ps-left-footer 3242(defcustom ps-left-footer
@@ -3175,10 +3257,10 @@ should be a string to be inserted into the array. In either case, function or
3175variable, the string value has PostScript string delimiters added to it. 3257variable, the string value has PostScript string delimiters added to it.
3176 3258
3177If symbols are unbounded, they are silently ignored." 3259If symbols are unbounded, they are silently ignored."
3178 :version "21.1"
3179 :type '(repeat (choice :menu-tag "Left Footer" 3260 :type '(repeat (choice :menu-tag "Left Footer"
3180 :tag "Left Footer" 3261 :tag "Left Footer"
3181 string symbol)) 3262 string symbol))
3263 :version "21.1"
3182 :group 'ps-print-headers) 3264 :group 'ps-print-headers)
3183 3265
3184(defcustom ps-right-footer 3266(defcustom ps-right-footer
@@ -3206,15 +3288,16 @@ There are the following basic functions implemented:
3206 3288
3207You can also create your own time stamp function by using `format-time-string' 3289You can also create your own time stamp function by using `format-time-string'
3208\(which see)." 3290\(which see)."
3209 :version "21.1"
3210 :type '(repeat (choice :menu-tag "Right Footer" 3291 :type '(repeat (choice :menu-tag "Right Footer"
3211 :tag "Right Footer" 3292 :tag "Right Footer"
3212 string symbol)) 3293 string symbol))
3294 :version "21.1"
3213 :group 'ps-print-headers) 3295 :group 'ps-print-headers)
3214 3296
3215(defcustom ps-razzle-dazzle t 3297(defcustom ps-razzle-dazzle t
3216 "*Non-nil means report progress while formatting buffer." 3298 "*Non-nil means report progress while formatting buffer."
3217 :type 'boolean 3299 :type 'boolean
3300 :version "20"
3218 :group 'ps-print-miscellany) 3301 :group 'ps-print-miscellany)
3219 3302
3220(defcustom ps-adobe-tag "%!PS-Adobe-3.0\n" 3303(defcustom ps-adobe-tag "%!PS-Adobe-3.0\n"
@@ -3222,6 +3305,7 @@ You can also create your own time stamp function by using `format-time-string'
3222By default, `ps-adobe-tag' contains the standard identifier. Some printers 3305By default, `ps-adobe-tag' contains the standard identifier. Some printers
3223require slightly different versions of this line." 3306require slightly different versions of this line."
3224 :type 'string 3307 :type 'string
3308 :version "20"
3225 :group 'ps-print-miscellany) 3309 :group 'ps-print-miscellany)
3226 3310
3227(defcustom ps-build-face-reference t 3311(defcustom ps-build-face-reference t
@@ -3236,6 +3320,7 @@ You should set this value back to t after you change the attributes of any
3236face, or create new faces. Most users shouldn't have to worry about its 3320face, or create new faces. Most users shouldn't have to worry about its
3237setting, though." 3321setting, though."
3238 :type 'boolean 3322 :type 'boolean
3323 :version "20"
3239 :group 'ps-print-face) 3324 :group 'ps-print-face)
3240 3325
3241(defcustom ps-always-build-face-reference nil 3326(defcustom ps-always-build-face-reference nil
@@ -3245,28 +3330,30 @@ If this variable is non-nil, ps-print will rebuild its internal reference lists
3245of bold and italic faces *every* time one of the ...-with-faces commands is 3330of bold and italic faces *every* time one of the ...-with-faces commands is
3246called. Most users shouldn't need to set this variable." 3331called. Most users shouldn't need to set this variable."
3247 :type 'boolean 3332 :type 'boolean
3333 :version "20"
3248 :group 'ps-print-face) 3334 :group 'ps-print-face)
3249 3335
3250(defcustom ps-banner-page-when-duplexing nil 3336(defcustom ps-banner-page-when-duplexing nil
3251 "*Non-nil means the very first page is skipped. 3337 "*Non-nil means the very first page is skipped.
3252It's like the very first character of buffer (or region) is ^L (\\014)." 3338It's like the very first character of buffer (or region) is ^L (\\014)."
3253 :type 'boolean 3339 :type 'boolean
3340 :version "20"
3254 :group 'ps-print-headers) 3341 :group 'ps-print-headers)
3255 3342
3256(defcustom ps-postscript-code-directory 3343(defcustom ps-postscript-code-directory
3257 (or (cond 3344 (or (if (featurep 'xemacs)
3258 ((eq ps-print-emacs-type 'emacs) ; emacs 3345 (cond ((fboundp 'locate-data-directory) ; xemacs
3259 data-directory) 3346 (locate-data-directory "ps-print"))
3260 ((fboundp 'locate-data-directory) ; xemacs 3347 ((boundp 'data-directory) ; xemacs
3261 (locate-data-directory "ps-print")) 3348 data-directory)
3262 ((boundp 'data-directory) ; xemacs 3349 (t ; don't know what to do
3263 data-directory) 3350 nil))
3264 (t ; don't know what to do 3351 data-directory) ; emacs
3265 nil))
3266 (error "`ps-postscript-code-directory' isn't set properly")) 3352 (error "`ps-postscript-code-directory' isn't set properly"))
3267 "*Directory where it's located the PostScript prologue file used by ps-print. 3353 "*Directory where it's located the PostScript prologue file used by ps-print.
3268By default, this directory is the same as in the variable `data-directory'." 3354By default, this directory is the same as in the variable `data-directory'."
3269 :type 'directory 3355 :type 'directory
3356 :version "20"
3270 :group 'ps-print-miscellany) 3357 :group 'ps-print-miscellany)
3271 3358
3272(defcustom ps-line-spacing 0 3359(defcustom ps-line-spacing 0
@@ -3749,106 +3836,105 @@ It can be retrieved with `(ps-get ALIST-SYM KEY)'."
3749 (format-time-string "%T")) 3836 (format-time-string "%T"))
3750 3837
3751 3838
3752(eval-and-compile 3839(and (featurep 'xemacs)
3753 (and (eq ps-print-emacs-type 'xemacs) 3840 ;; XEmacs change: Need to check for emacs-major-version too.
3754 ;; XEmacs change: Need to check for emacs-major-version too. 3841 (or (< emacs-major-version 19)
3755 (or (< emacs-major-version 19) 3842 (and (= emacs-major-version 19) (< emacs-minor-version 12)))
3756 (and (= emacs-major-version 19) (< emacs-minor-version 12))) 3843 (setq ps-print-color-p nil))
3757 (setq ps-print-color-p nil)) 3844
3758 3845
3759 3846;; Return t if the device (which can be changed during an emacs session)
3760 ;; Return t if the device (which can be changed during an emacs session) 3847;; can handle colors.
3761 ;; can handle colors. 3848;; This function is not yet implemented for GNU emacs.
3762 ;; This function is not yet implemented for GNU emacs. 3849(cond ((and (featurep 'xemacs)
3763 (cond ((and (eq ps-print-emacs-type 'xemacs) 3850 ;; XEmacs change: Need to check for emacs-major-version too.
3764 ;; XEmacs change: Need to check for emacs-major-version too. 3851 (or (> emacs-major-version 19)
3765 (or (> emacs-major-version 19) 3852 (and (= emacs-major-version 19)
3766 (and (= emacs-major-version 19) 3853 (>= emacs-minor-version 12)))) ; xemacs >= 19.12
3767 (>= emacs-minor-version 12)))) ; xemacs >= 19.12 3854 (defun ps-color-device ()
3768 (defun ps-color-device () 3855 (eq (ps-x-device-class) 'color)))
3769 (eq (ps-x-device-class) 'color))) 3856
3770 3857 (t ; emacs
3771 (t ; emacs 3858 (defun ps-color-device ()
3772 (defun ps-color-device () 3859 (if (fboundp 'color-values)
3773 (if (fboundp 'color-values) 3860 (ps-e-color-values "Green")
3774 (ps-e-color-values "Green") 3861 t))))
3775 t)))) 3862
3776 3863
3777 3864(defun ps-mapper (extent list)
3778 (defun ps-mapper (extent list) 3865 (nconc list
3779 (nconc list 3866 (list (list (ps-x-extent-start-position extent) 'push extent)
3780 (list (list (ps-x-extent-start-position extent) 'push extent) 3867 (list (ps-x-extent-end-position extent) 'pull extent)))
3781 (list (ps-x-extent-end-position extent) 'pull extent))) 3868 nil)
3782 nil) 3869
3783 3870(defun ps-extent-sorter (a b)
3784 (defun ps-extent-sorter (a b) 3871 (< (ps-x-extent-priority a) (ps-x-extent-priority b)))
3785 (< (ps-x-extent-priority a) (ps-x-extent-priority b))) 3872
3786 3873(defun ps-xemacs-face-kind-p (face kind kind-regex)
3787 (defun ps-xemacs-face-kind-p (face kind kind-regex) 3874 (let* ((frame-font (or (ps-x-face-font-instance face)
3788 (let* ((frame-font (or (ps-x-face-font-instance face) 3875 (ps-x-face-font-instance 'default)))
3789 (ps-x-face-font-instance 'default))) 3876 (kind-cons
3790 (kind-cons 3877 (and frame-font
3791 (and frame-font 3878 (assq kind
3792 (assq kind 3879 (ps-x-font-instance-properties frame-font))))
3793 (ps-x-font-instance-properties frame-font)))) 3880 (kind-spec (cdr-safe kind-cons))
3794 (kind-spec (cdr-safe kind-cons)) 3881 (case-fold-search t))
3795 (case-fold-search t)) 3882 (and kind-spec (string-match kind-regex kind-spec))))
3796 (and kind-spec (string-match kind-regex kind-spec)))) 3883
3797 3884(cond ((featurep 'xemacs) ; xemacs
3798 (cond ((eq ps-print-emacs-type 'emacs) ; emacs 3885
3799 3886 ;; to avoid XEmacs compilation gripes
3800 (defun ps-color-values (x-color) 3887 (defvar coding-system-for-write nil)
3888 (defvar coding-system-for-read nil)
3889 (defvar buffer-file-coding-system nil)
3890
3891 (and (fboundp 'find-coding-system)
3892 (or (ps-x-find-coding-system 'raw-text-unix)
3893 (ps-x-copy-coding-system 'no-conversion-unix 'raw-text-unix)))
3894
3895 (defun ps-color-values (x-color)
3896 (let ((color (ps-xemacs-color-name x-color)))
3801 (cond 3897 (cond
3802 ((fboundp 'color-values)
3803 (ps-e-color-values x-color))
3804 ((fboundp 'x-color-values) 3898 ((fboundp 'x-color-values)
3805 (ps-e-x-color-values x-color)) 3899 (ps-e-x-color-values color))
3900 ((and (fboundp 'color-instance-rgb-components)
3901 (ps-color-device))
3902 (ps-x-color-instance-rgb-components
3903 (if (ps-x-color-instance-p x-color)
3904 x-color
3905 (ps-x-make-color-instance color))))
3806 (t 3906 (t
3807 (error "No available function to determine X color values")))) 3907 (error "No available function to determine X color values")))))
3808 3908
3809 (defun ps-face-bold-p (face) 3909 (defun ps-face-bold-p (face)
3810 (or (ps-e-face-bold-p face) 3910 (or (ps-xemacs-face-kind-p face 'WEIGHT_NAME "bold\\|demibold")
3811 (memq face ps-bold-faces))) 3911 (memq face ps-bold-faces))) ; Kludge-compatible
3912
3913 (defun ps-face-italic-p (face)
3914 (or (ps-xemacs-face-kind-p face 'ANGLE_NAME "i\\|o")
3915 (ps-xemacs-face-kind-p face 'SLANT "i\\|o")
3916 (memq face ps-italic-faces))) ; Kludge-compatible
3917 )
3918
3919 (t ; emacs
3920
3921 (defun ps-color-values (x-color)
3922 (cond
3923 ((fboundp 'color-values)
3924 (ps-e-color-values x-color))
3925 ((fboundp 'x-color-values)
3926 (ps-e-x-color-values x-color))
3927 (t
3928 (error "No available function to determine X color values"))))
3812 3929
3813 (defun ps-face-italic-p (face) 3930 (defun ps-face-bold-p (face)
3814 (or (ps-e-face-italic-p face) 3931 (or (ps-e-face-bold-p face)
3815 (memq face ps-italic-faces))) 3932 (memq face ps-bold-faces)))
3816 )
3817 3933
3818 (t ; xemacs 3934 (defun ps-face-italic-p (face)
3819 3935 (or (ps-e-face-italic-p face)
3820 ;; to avoid XEmacs compilation gripes 3936 (memq face ps-italic-faces)))
3821 (defvar coding-system-for-write nil) 3937 ))
3822 (defvar coding-system-for-read nil)
3823 (defvar buffer-file-coding-system nil)
3824
3825 (and (fboundp 'find-coding-system)
3826 (or (ps-x-find-coding-system 'raw-text-unix)
3827 (ps-x-copy-coding-system 'no-conversion-unix 'raw-text-unix)))
3828
3829 (defun ps-color-values (x-color)
3830 (let ((color (ps-xemacs-color-name x-color)))
3831 (cond
3832 ((fboundp 'x-color-values)
3833 (ps-e-x-color-values color))
3834 ((and (fboundp 'color-instance-rgb-components)
3835 (ps-color-device))
3836 (ps-x-color-instance-rgb-components
3837 (if (ps-x-color-instance-p x-color)
3838 x-color
3839 (ps-x-make-color-instance color))))
3840 (t
3841 (error "No available function to determine X color values")))))
3842
3843 (defun ps-face-bold-p (face)
3844 (or (ps-xemacs-face-kind-p face 'WEIGHT_NAME "bold\\|demibold")
3845 (memq face ps-bold-faces))) ; Kludge-compatible
3846
3847 (defun ps-face-italic-p (face)
3848 (or (ps-xemacs-face-kind-p face 'ANGLE_NAME "i\\|o")
3849 (ps-xemacs-face-kind-p face 'SLANT "i\\|o")
3850 (memq face ps-italic-faces))) ; Kludge-compatible
3851 )))
3852 3938
3853 3939
3854(defvar ps-print-color-scale 1.0) 3940(defvar ps-print-color-scale 1.0)
@@ -3931,15 +4017,14 @@ Note: No major/minor-mode is activated and no local variables are evaluated for
3931 4017
3932(defvar ps-color-p nil) 4018(defvar ps-color-p nil)
3933(defvar ps-color-format 4019(defvar ps-color-format
3934 (if (eq ps-print-emacs-type 'emacs) 4020 (if (featurep 'xemacs)
3935 4021 ;; XEmacs will have to make do with %s (princ) for floats.
3936 ;; Emacs understands the %f format; we'll use it to limit color RGB 4022 "%s %s %s"
3937 ;; values to three decimals to cut down some on the size of the
3938 ;; PostScript output.
3939 "%0.3f %0.3f %0.3f"
3940 4023
3941 ;; XEmacs will have to make do with %s (princ) for floats. 4024 ;; Emacs understands the %f format; we'll use it to limit color RGB
3942 "%s %s %s")) 4025 ;; values to three decimals to cut down some on the size of the
4026 ;; PostScript output.
4027 "%0.3f %0.3f %0.3f"))
3943 4028
3944;; These values determine how much print-height to deduct when headers/footers 4029;; These values determine how much print-height to deduct when headers/footers
3945;; are turned on. This is a pretty clumsy way of handling it, but it'll do for 4030;; are turned on. This is a pretty clumsy way of handling it, but it'll do for
@@ -4723,7 +4808,7 @@ page-height == ((floor print-height ((th + ls) * zh)) * ((th + ls) * zh)) - th
4723 (save-excursion 4808 (save-excursion
4724 (set-buffer ps-spool-buffer) 4809 (set-buffer ps-spool-buffer)
4725 (goto-char (point-max)) 4810 (goto-char (point-max))
4726 (insert-file fname))) 4811 (insert-file-contents fname)))
4727 4812
4728;; These functions are used in `ps-mule' to get charset of header and footer. 4813;; These functions are used in `ps-mule' to get charset of header and footer.
4729;; To avoid unnecessary calls to functions in `ps-left-header', 4814;; To avoid unnecessary calls to functions in `ps-left-header',
@@ -4855,9 +4940,9 @@ page-height == ((floor print-height ((th + ls) * zh)) * ((th + ls) * zh)) - th
4855;; to three decimals to cut down some on the size of the PostScript output. 4940;; to three decimals to cut down some on the size of the PostScript output.
4856;; XEmacs will have to make do with %s (princ) for floats. 4941;; XEmacs will have to make do with %s (princ) for floats.
4857 4942
4858(defvar ps-float-format (if (eq ps-print-emacs-type 'emacs) 4943(defvar ps-float-format (if (featurep 'xemacs)
4859 "%0.3f " ; emacs 4944 "%s " ; xemacs
4860 "%s ")) ; xemacs 4945 "%0.3f ")) ; emacs
4861 4946
4862 4947
4863(defun ps-float-format (value &optional default) 4948(defun ps-float-format (value &optional default)
@@ -6360,14 +6445,16 @@ If FACE is not a valid face name, it is used default face."
6360 6445
6361 6446
6362;; to avoid compilation gripes 6447;; to avoid compilation gripes
6448(defalias 'ps-jitify 'jit-lock-fontify-now)
6449(defalias 'ps-lazify 'lazy-lock-fontify-region)
6450
6451
6452;; to avoid compilation gripes
6363(defun ps-print-ensure-fontified (start end) 6453(defun ps-print-ensure-fontified (start end)
6364 (cond 6454 (cond ((and (boundp 'jit-lock-mode) (symbol-value 'jit-lock-mode))
6365 ((and (boundp 'jit-lock-mode) (symbol-value 'jit-lock-mode)) 6455 (ps-jitify start end))
6366 (defalias 'ps-jitify 'jit-lock-fontify-now) ; avoid compilation gripes 6456 ((and (boundp 'lazy-lock-mode) (symbol-value 'lazy-lock-mode))
6367 (ps-jitify start end)) 6457 (ps-lazify start end))))
6368 ((and (boundp 'lazy-lock-mode) (symbol-value 'lazy-lock-mode))
6369 (defalias 'ps-lazify 'lazy-lock-fontify-region) ; avoid compilation gripes
6370 (ps-lazify start end))))
6371 6458
6372 6459
6373(defun ps-generate-postscript-with-faces (from to) 6460(defun ps-generate-postscript-with-faces (from to)
@@ -6393,7 +6480,7 @@ If FACE is not a valid face name, it is used default face."
6393 (let ((face 'default) 6480 (let ((face 'default)
6394 (position to)) 6481 (position to))
6395 (cond 6482 (cond
6396 ((eq ps-print-emacs-type 'xemacs) 6483 ((featurep 'xemacs) ; xemacs
6397 ;; Build the list of extents... 6484 ;; Build the list of extents...
6398 (let ((a (cons 'dummy nil)) 6485 (let ((a (cons 'dummy nil))
6399 record type extent extent-list) 6486 record type extent extent-list)
@@ -6437,7 +6524,7 @@ If FACE is not a valid face name, it is used default face."
6437 from position 6524 from position
6438 a (cdr a))))) 6525 a (cdr a)))))
6439 6526
6440 ((eq ps-print-emacs-type 'emacs) 6527 (t ; emacs
6441 (let ((property-change from) 6528 (let ((property-change from)
6442 (overlay-change from) 6529 (overlay-change from)
6443 (save-buffer-invisibility-spec buffer-invisibility-spec) 6530 (save-buffer-invisibility-spec buffer-invisibility-spec)
@@ -6714,11 +6801,11 @@ If FACE is not a valid face name, it is used default face."
6714;; Don't use it unless you understand what it does! 6801;; Don't use it unless you understand what it does!
6715 6802
6716(defmacro ps-prsc () 6803(defmacro ps-prsc ()
6717 `(if (eq ps-print-emacs-type 'emacs) [f22] 'f22)) 6804 `(if (featurep 'xemacs) 'f22 [f22]))
6718(defmacro ps-c-prsc () 6805(defmacro ps-c-prsc ()
6719 `(if (eq ps-print-emacs-type 'emacs) [C-f22] '(control f22))) 6806 `(if (featurep 'xemacs) '(control f22) [C-f22]))
6720(defmacro ps-s-prsc () 6807(defmacro ps-s-prsc ()
6721 `(if (eq ps-print-emacs-type 'emacs) [S-f22] '(shift f22))) 6808 `(if (featurep 'xemacs) '(shift f22) [S-f22]))
6722 6809
6723;; A hook to bind to `rmail-mode-hook' to locally bind prsc and set the 6810;; A hook to bind to `rmail-mode-hook' to locally bind prsc and set the
6724;; `ps-left-headers' specially for mail messages. 6811;; `ps-left-headers' specially for mail messages.