emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: require printing causes an error


From: Stefan
Subject: Re: require printing causes an error
Date: Thu, 11 Nov 2004 10:01:26 -0500
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (darwin)

> Symptoms:
> (require 'printing)
> cause the following error:
> Debugger entered--Lisp error: (wrong-type-argument listp 3)

I've just (hopefully) checked in a fix for it.
BTW, Jose, why is the menu manipulation done in a eval-and-compile
(i.e. why do you modify the menus during byte-compilation)?
I suggest the untested patch below which removes the eval-and-compile
and which merges the XEmacs and Emacs menus.


        Stefan


--- printing.el 11 Nov 2004 09:50:10 -0500      1.20
+++ printing.el 11 Nov 2004 09:58:51 -0500      
@@ -2472,12 +2472,12 @@
   (and pr-print-using-ghostscript (not pr-spool-p)))
 
 
-(eval-and-compile
-  (defun pr-get-symbol (name)
+
+(defun pr-get-symbol (name)
     (or (intern-soft name)
        (make-symbol name)))
 
-  (cond
+(cond
    ((eq ps-print-emacs-type 'emacs)    ; GNU Emacs
     (defsubst pr-region-active-p ()
       (and pr-auto-region transient-mark-mode mark-active)))
@@ -2487,35 +2487,41 @@
     (defsubst pr-region-active-p ()
       (and pr-auto-region (not zmacs-region-stays) (ps-mark-active-p)))))
 
+;; Menu mapping:
+;;   unfortunately XEmacs doesn't support :active or :visible
+;;   for submenus, only for items.
+;;   It uses :included instead of :active or :visible.
+;;   Also, XEmacs doesn't support :help tag.
+(defalias 'pr-menu-:help
+  (if (featurep 'xemacs) 'ignore (lambda (text) (list :help text))))
+(defconst 'pr-menu-:active (if (featurep 'xemacs) :included :active))
 
-  (defconst pr-menu-spec
-    (cond
-     ((eq ps-print-emacs-type 'emacs)  ; GNU Emacs
-      '(
+(defconst pr-menu-spec
+  `(
        ["Printing Interface" pr-interface
-        :help "Use buffer interface instead of menu interface"]
+     ,@(pr-menu-:help "Use buffer interface instead of menu interface")]
        "--"
-       ("PostScript Preview" :visible (pr-visible-p 'postscript)
-        :help "Preview PostScript instead of sending to printer"
-        ("Directory" :active (not pr-spool-p)
+    ("PostScript Preview" :included (pr-visible-p 'postscript)
+     ,@(pr-menu-:help "Preview PostScript instead of sending to printer")
+     ("Directory" ,pr-menu-:active (not pr-spool-p)
          ["1-up"     (pr-ps-directory-preview 1   nil nil t) t]
          ["2-up"     (pr-ps-directory-preview 2   nil nil t) t]
          ["4-up"     (pr-ps-directory-preview 4   nil nil t) t]
          ["Other..." (pr-ps-directory-preview nil nil nil t)
           :keys "\\[pr-ps-buffer-preview]"])
-        ("Buffer" :active (not pr-spool-p)
+     ("Buffer" ,pr-menu-:active (not pr-spool-p)
          ["1-up"     (pr-ps-buffer-preview 1   t) t]
          ["2-up"     (pr-ps-buffer-preview 2   t) t]
          ["4-up"     (pr-ps-buffer-preview 4   t) t]
          ["Other..." (pr-ps-buffer-preview nil t)
           :keys "\\[pr-ps-buffer-preview]"])
-        ("Region" :active (and (not pr-spool-p) (ps-mark-active-p))
+     ("Region" ,pr-menu-:active (and (not pr-spool-p) (ps-mark-active-p))
          ["1-up"     (pr-ps-region-preview 1   t) t]
          ["2-up"     (pr-ps-region-preview 2   t) t]
          ["4-up"     (pr-ps-region-preview 4   t) t]
          ["Other..." (pr-ps-region-preview nil t)
           :keys "\\[pr-ps-region-preview]"])
-        ("Mode" :active (and (not pr-spool-p) (pr-mode-alist-p))
+     ("Mode" ,pr-menu-:active (and (not pr-spool-p) (pr-mode-alist-p))
          ["1-up"     (pr-ps-mode-preview 1   t) t]
          ["2-up"     (pr-ps-mode-preview 2   t) t]
          ["4-up"     (pr-ps-mode-preview 4   t) t]
@@ -2524,10 +2530,10 @@
         ("File"
          ["No Preprocessing..." (call-interactively 'pr-ps-file-preview)
           :keys "\\[pr-ps-file-preview]"
-          :help "Preview PostScript file"]
+       ,@(pr-menu-:help "Preview PostScript file")]
          "--"
          ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist
-          :help "Select PostScript utility"]
+       ,@(pr-menu-:help "Select PostScript utility")]
          "--"
          ["1-up..."   (pr-ps-file-up-preview 1   t t) pr-ps-utility-alist]
          ["2-up..."   (pr-ps-file-up-preview 2   t t) pr-ps-utility-alist]
@@ -2537,21 +2543,21 @@
          "--"
          ["Landscape" pr-toggle-file-landscape
           :style toggle :selected pr-file-landscape
-          :help "Toggle landscape for PostScript file"
+       ,@(pr-menu-:help "Toggle landscape for PostScript file")
           :active pr-ps-utility-alist]
          ["Duplex"    pr-toggle-file-duplex
           :style toggle :selected pr-file-duplex
-          :help "Toggle duplex for PostScript file"
+       ,@(pr-menu-:help "Toggle duplex for PostScript file")
           :active pr-ps-utility-alist]
          ["Tumble"    pr-toggle-file-tumble
           :style toggle :selected pr-file-tumble
-          :help "Toggle tumble for PostScript file"
+       ,@(pr-menu-:help "Toggle tumble for PostScript file")
           :active (and pr-file-duplex pr-ps-utility-alist)])
         ["Despool..." (call-interactively 'pr-despool-preview)
          :active pr-spool-p :keys "\\[pr-despool-preview]"
-         :help "Despool PostScript buffer to printer or file (C-u)"])
-       ("PostScript Print" :visible (pr-visible-p 'postscript)
-        :help "Send PostScript to printer or file (C-u)"
+      ,@(pr-menu-:help "Despool PostScript buffer to printer or file (C-u)")])
+    ("PostScript Print" :included (pr-visible-p 'postscript)
+     ,@(pr-menu-:help "Send PostScript to printer or file (C-u)")
         ("Directory"
          ["1-up"     (pr-ps-directory-ps-print 1   nil nil t) t]
          ["2-up"     (pr-ps-directory-ps-print 2   nil nil t) t]
@@ -2564,13 +2570,13 @@
          ["4-up"     (pr-ps-buffer-ps-print 4   t) t]
          ["Other..." (pr-ps-buffer-ps-print nil t)
           :keys "\\[pr-ps-buffer-ps-print]"])
-        ("Region" :active (ps-mark-active-p)
+     ("Region" ,pr-menu-:active (ps-mark-active-p)
          ["1-up"     (pr-ps-region-ps-print 1   t) t]
          ["2-up"     (pr-ps-region-ps-print 2   t) t]
          ["4-up"     (pr-ps-region-ps-print 4   t) t]
          ["Other..." (pr-ps-region-ps-print nil t)
           :keys "\\[pr-ps-region-ps-print]"])
-        ("Mode" :active (pr-mode-alist-p)
+     ("Mode" ,pr-menu-:active (pr-mode-alist-p)
          ["1-up"     (pr-ps-mode-ps-print 1   t) t]
          ["2-up"     (pr-ps-mode-ps-print 2   t) t]
          ["4-up"     (pr-ps-mode-ps-print 4   t) t]
@@ -2579,10 +2585,10 @@
         ("File"
          ["No Preprocessing..." (call-interactively 'pr-ps-file-ps-print)
           :keys "\\[pr-ps-file-ps-print]"
-          :help "Send PostScript file to printer"]
+       ,@(pr-menu-:help "Send PostScript to printer or file (C-u)")]
          "--"
          ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist
-          :help "Select PostScript utility"]
+       ,@(pr-menu-:help "Select PostScript utility")]
          "--"
          ["1-up..."   (pr-ps-file-up-ps-print 1   t t) pr-ps-utility-alist]
          ["2-up..."   (pr-ps-file-up-ps-print 2   t t) pr-ps-utility-alist]
@@ -2592,37 +2598,37 @@
          "--"
          ["Landscape" pr-toggle-file-landscape
           :style toggle :selected pr-file-landscape
-          :help "Toggle landscape for PostScript file"
+       ,@(pr-menu-:help "Toggle landscape for PostScript file")
           :active pr-ps-utility-alist]
          ["Duplex"    pr-toggle-file-duplex
           :style toggle :selected pr-file-duplex
-          :help "Toggle duplex for PostScript file"
+       ,@(pr-menu-:help "Toggle duplex for PostScript file")
           :active pr-ps-utility-alist]
          ["Tumble"    pr-toggle-file-tumble
           :style toggle :selected pr-file-tumble
-          :help "Toggle tumble for PostScript file"
+       ,@(pr-menu-:help "Toggle tumble for PostScript file")
           :active (and pr-file-duplex pr-ps-utility-alist)])
         ["Despool..." (call-interactively 'pr-despool-ps-print)
          :active pr-spool-p :keys "\\[pr-despool-ps-print]"
-         :help "Despool PostScript buffer to printer or file (C-u)"])
+      ,@(pr-menu-:help "Despool PostScript buffer to printer or file (C-u)")])
        ["PostScript Printers" pr-update-menus
         :active pr-ps-printer-alist :included (pr-visible-p 'postscript)
-        :help "Select PostScript printer"]
+     ,@(pr-menu-:help "Select PostScript printer")]
        "--"
-       ("Printify" :visible (pr-visible-p 'text)
-        :help "Replace non-printing chars with printable representations."
+    ("Printify" :included (pr-visible-p 'text)
+     ,@(pr-menu-:help "Replace non-printing chars with printable 
representations.")
         ["Directory" pr-printify-directory t]
         ["Buffer"    pr-printify-buffer    t]
         ["Region"    pr-printify-region    (ps-mark-active-p)])
-       ("Print" :visible (pr-visible-p 'text)
-        :help "Send text to printer"
+    ("Print" :included (pr-visible-p 'text)
+     ,@(pr-menu-:help "Send text to printer")
         ["Directory" pr-txt-directory t]
         ["Buffer"    pr-txt-buffer    t]
         ["Region"    pr-txt-region    (ps-mark-active-p)]
         ["Mode"      pr-txt-mode      (pr-mode-alist-p)])
        ["Text Printers" pr-update-menus
         :active pr-txt-printer-alist :included (pr-visible-p 'text)
-        :help "Select text printer"]
+     ,@(pr-menu-:help "Select text printer")]
        "--"
        ["Landscape"               pr-toggle-landscape
         :style toggle :selected ps-landscape-mode
@@ -2648,8 +2654,8 @@
        ["Upside-Down"             pr-toggle-upside-down
         :style toggle :selected ps-print-upside-down
         :included (pr-visible-p 'postscript-options)]
-       ("Print All Pages" :visible (pr-visible-p 'postscript-options)
-        :help "Select odd/even pages/sheets to print"
+    ("Print All Pages" :included (pr-visible-p 'postscript-options)
+     ,@(pr-menu-:help "Select odd/even pages/sheets to print")
         ["All Pages"   (pr-even-or-odd-pages nil)
          :style radio :selected (eq ps-even-or-odd-pages nil)]
         ["Even Pages"  (pr-even-or-odd-pages 'even-page)
@@ -2664,203 +2670,15 @@
        ["Spool Buffer"            pr-toggle-spool
         :style toggle :selected pr-spool-p
         :included (pr-visible-p 'postscript-process)
-        :help "Toggle PostScript spooling"]
+     ,@(pr-menu-:help "Toggle PostScript spooling")]
        ["Print with faces"        pr-toggle-faces
         :style toggle :selected pr-faces-p
         :included (pr-visible-p 'postscript-process)
-        :help "Toggle PostScript printing with faces"]
+     ,@(pr-menu-:help "Toggle PostScript printing with faces")]
        ["Print via Ghostscript" pr-toggle-ghostscript
         :style toggle :selected pr-print-using-ghostscript
         :included (pr-visible-p 'postscript-process)
-        :help "Toggle PostScript generation using ghostscript"]
-       "--"
-       ["Auto Region" pr-toggle-region
-        :style toggle :selected pr-auto-region
-        :included (pr-visible-p 'printing)]
-       ["Auto Mode"   pr-toggle-mode
-        :style toggle :selected pr-auto-mode
-        :included (pr-visible-p 'printing)]
-       ["Menu Lock"   pr-toggle-lock
-        :style toggle :selected pr-menu-lock
-        :included (pr-visible-p 'printing)]
-       "--"
-       ("Customize" :visible (pr-visible-p 'help)
-        ["printing" pr-customize       t]
-        ["ps-print" ps-print-customize t]
-        ["lpr"      lpr-customize      t])
-       ("Show Settings" :visible (pr-visible-p 'help)
-        ["printing" pr-show-pr-setup  t]
-        ["ps-print" pr-show-ps-setup  t]
-        ["lpr"      pr-show-lpr-setup t])
-       ["Help" pr-help :active t :included (pr-visible-p 'help)]
-       ))
-
-
-     ((eq ps-print-emacs-type 'xemacs) ; XEmacs
-      ;; Menu mapping:
-      ;;   unfortunately XEmacs doesn't support :active or :visible
-      ;;   for submenus, only for items.
-      ;;   It uses :included instead of :active or :visible.
-      ;;   Also, XEmacs doesn't support :help tag.
-      '(
-       ["Printing Interface" pr-interface]
-       "--"
-       ("PostScript Preview" :included (pr-visible-p 'postscript)
-        ("Directory" :included (not pr-spool-p)
-         ["1-up"     (pr-ps-directory-preview 1   nil nil t) t]
-         ["2-up"     (pr-ps-directory-preview 2   nil nil t) t]
-         ["4-up"     (pr-ps-directory-preview 4   nil nil t) t]
-         ["Other..." (pr-ps-directory-preview nil nil nil t)
-          :keys "\\[pr-ps-buffer-preview]"])
-        ("Buffer" :included (not pr-spool-p)
-         ["1-up"     (pr-ps-buffer-preview 1   t) t]
-         ["2-up"     (pr-ps-buffer-preview 2   t) t]
-         ["4-up"     (pr-ps-buffer-preview 4   t) t]
-         ["Other..." (pr-ps-buffer-preview nil t)
-          :keys "\\[pr-ps-buffer-preview]"])
-        ("Region" :included (and (not pr-spool-p) (ps-mark-active-p))
-         ["1-up"     (pr-ps-region-preview 1   t) t]
-         ["2-up"     (pr-ps-region-preview 2   t) t]
-         ["4-up"     (pr-ps-region-preview 4   t) t]
-         ["Other..." (pr-ps-region-preview nil t)
-          :keys "\\[pr-ps-region-preview]"])
-        ("Mode" :included (and (not pr-spool-p) (pr-mode-alist-p))
-         ["1-up"     (pr-ps-mode-preview 1   t) t]
-         ["2-up"     (pr-ps-mode-preview 2   t) t]
-         ["4-up"     (pr-ps-mode-preview 4   t) t]
-         ["Other..." (pr-ps-mode-preview nil t)
-          :keys "\\[pr-ps-mode-preview]"])
-        ("File"
-         ["No Preprocessing..." (call-interactively 'pr-ps-file-preview)
-          :keys "\\[pr-ps-file-preview]"]
-         "--"
-         ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist]
-         "--"
-         ["1-up..."   (pr-ps-file-up-preview 1   t t) pr-ps-utility-alist]
-         ["2-up..."   (pr-ps-file-up-preview 2   t t) pr-ps-utility-alist]
-         ["4-up..."   (pr-ps-file-up-preview 4   t t) pr-ps-utility-alist]
-         ["Other..."  (pr-ps-file-up-preview nil t t)
-          :keys "\\[pr-ps-file-up-preview]" :active pr-ps-utility-alist]
-         "--"
-         ["Landscape" pr-toggle-file-landscape
-          :style toggle :selected pr-file-landscape
-          :active pr-ps-utility-alist]
-         ["Duplex"    pr-toggle-file-duplex
-          :style toggle :selected pr-file-duplex
-          :active pr-ps-utility-alist]
-         ["Tumble"    pr-toggle-file-tumble
-          :style toggle :selected pr-file-tumble
-          :active (and pr-file-duplex pr-ps-utility-alist)])
-        ["Despool..." (call-interactively 'pr-despool-preview)
-         :active pr-spool-p :keys "\\[pr-despool-preview]"])
-       ("PostScript Print" :included (pr-visible-p 'postscript)
-        ("Directory"
-         ["1-up"     (pr-ps-directory-ps-print 1   nil nil t) t]
-         ["2-up"     (pr-ps-directory-ps-print 2   nil nil t) t]
-         ["4-up"     (pr-ps-directory-ps-print 4   nil nil t) t]
-         ["Other..." (pr-ps-directory-ps-print nil nil nil t)
-          :keys "\\[pr-ps-buffer-ps-print]"])
-        ("Buffer"
-         ["1-up"     (pr-ps-buffer-ps-print 1   t) t]
-         ["2-up"     (pr-ps-buffer-ps-print 2   t) t]
-         ["4-up"     (pr-ps-buffer-ps-print 4   t) t]
-         ["Other..." (pr-ps-buffer-ps-print nil t)
-          :keys "\\[pr-ps-buffer-ps-print]"])
-        ("Region" :included (ps-mark-active-p)
-         ["1-up"     (pr-ps-region-ps-print 1   t) t]
-         ["2-up"     (pr-ps-region-ps-print 2   t) t]
-         ["4-up"     (pr-ps-region-ps-print 4   t) t]
-         ["Other..." (pr-ps-region-ps-print nil t)
-          :keys "\\[pr-ps-region-ps-print]"])
-        ("Mode" :included (pr-mode-alist-p)
-         ["1-up"     (pr-ps-mode-ps-print 1   t) t]
-         ["2-up"     (pr-ps-mode-ps-print 2   t) t]
-         ["4-up"     (pr-ps-mode-ps-print 4   t) t]
-         ["Other..." (pr-ps-mode-ps-print nil t)
-          :keys "\\[pr-ps-mode-ps-print]"])
-        ("File"
-         ["No Preprocessing..." (call-interactively 'pr-ps-file-ps-print)
-          :keys "\\[pr-ps-file-ps-print]"]
-         "--"
-         ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist]
-         "--"
-         ["1-up..."   (pr-ps-file-up-ps-print 1   t t) pr-ps-utility-alist]
-         ["2-up..."   (pr-ps-file-up-ps-print 2   t t) pr-ps-utility-alist]
-         ["4-up..."   (pr-ps-file-up-ps-print 4   t t) pr-ps-utility-alist]
-         ["Other..."  (pr-ps-file-up-ps-print nil t t)
-          :keys "\\[pr-ps-file-up-ps-print]" :active pr-ps-utility-alist]
-         "--"
-         ["Landscape" pr-toggle-file-landscape
-          :style toggle :selected pr-file-landscape
-          :active pr-ps-utility-alist]
-         ["Duplex"    pr-toggle-file-duplex
-          :style toggle :selected pr-file-duplex
-          :active pr-ps-utility-alist]
-         ["Tumble"    pr-toggle-file-tumble
-          :style toggle :selected pr-file-tumble
-          :active (and pr-file-duplex pr-ps-utility-alist)])
-        ["Despool..." (call-interactively 'pr-despool-ps-print)
-         :active pr-spool-p :keys "\\[pr-despool-ps-print]"])
-       ["PostScript Printers" pr-update-menus
-        :active pr-ps-printer-alist :included (pr-visible-p 'postscript)]
-       "--"
-       ("Printify" :included (pr-visible-p 'text)
-        ["Directory" pr-printify-directory t]
-        ["Buffer"    pr-printify-buffer    t]
-        ["Region"    pr-printify-region    (ps-mark-active-p)])
-       ("Print" :included (pr-visible-p 'text)
-        ["Directory" pr-txt-directory t]
-        ["Buffer"    pr-txt-buffer    t]
-        ["Region"    pr-txt-region    (ps-mark-active-p)]
-        ["Mode"      pr-txt-mode      (pr-mode-alist-p)])
-       ["Text Printers" pr-update-menus
-        :active pr-txt-printer-alist :included (pr-visible-p 'text)]
-       "--"
-       ["Landscape"               pr-toggle-landscape
-        :style toggle :selected ps-landscape-mode
-        :included (pr-visible-p 'postscript-options)]
-       ["Print Header"            pr-toggle-header
-        :style toggle :selected ps-print-header
-        :included (pr-visible-p 'postscript-options)]
-       ["Print Header Frame"      pr-toggle-header-frame
-        :style toggle :selected ps-print-header-frame :active ps-print-header
-        :included (pr-visible-p 'postscript-options)]
-       ["Line Number"             pr-toggle-line
-        :style toggle :selected ps-line-number
-        :included (pr-visible-p 'postscript-options)]
-       ["Zebra Stripes"           pr-toggle-zebra
-        :style toggle :selected ps-zebra-stripes
-        :included (pr-visible-p 'postscript-options)]
-       ["Duplex"                  pr-toggle-duplex
-        :style toggle :selected ps-spool-duplex
-        :included (pr-visible-p 'postscript-options)]
-       ["Tumble"                  pr-toggle-tumble
-        :style toggle :selected ps-spool-tumble :active ps-spool-duplex
-        :included (pr-visible-p 'postscript-options)]
-       ["Upside-Down"             pr-toggle-upside-down
-        :style toggle :selected ps-print-upside-down
-        :included (pr-visible-p 'postscript-options)]
-       ("Print All Pages" :included (pr-visible-p 'postscript-options)
-        ["All Pages"   (pr-even-or-odd-pages nil)
-         :style radio :selected (eq ps-even-or-odd-pages nil)]
-        ["Even Pages"  (pr-even-or-odd-pages 'even-page)
-         :style radio :selected (eq ps-even-or-odd-pages 'even-page)]
-        ["Odd Pages"   (pr-even-or-odd-pages 'odd-page)
-         :style radio :selected (eq ps-even-or-odd-pages 'odd-page)]
-        ["Even Sheets" (pr-even-or-odd-pages 'even-sheet)
-         :style radio :selected (eq ps-even-or-odd-pages 'even-sheet)]
-        ["Odd Sheets"  (pr-even-or-odd-pages 'odd-sheet)
-         :style radio :selected (eq ps-even-or-odd-pages 'odd-sheet)])
-       "--"
-       ["Spool Buffer"            pr-toggle-spool
-        :style toggle :selected pr-spool-p
-        :included (pr-visible-p 'postscript-process)]
-       ["Print with faces"        pr-toggle-faces
-        :style toggle :selected pr-faces-p
-        :included (pr-visible-p 'postscript-process)]
-       ["Print via Ghostscript" pr-toggle-ghostscript
-        :style toggle :selected pr-print-using-ghostscript
-        :included (pr-visible-p 'postscript-process)]
+     ,@(pr-menu-:help "Toggle PostScript generation using ghostscript")]
        "--"
        ["Auto Region" pr-toggle-region
         :style toggle :selected pr-auto-region
@@ -2882,10 +2700,9 @@
         ["lpr"      pr-show-lpr-setup t])
        ["Help" pr-help :active t :included (pr-visible-p 'help)]
        ))
-     ))
 
 
-  (cond
+(cond
    ((eq ps-print-emacs-type 'emacs)    ; GNU Emacs
     ;; Menu binding
     (require 'easymenu)
@@ -2915,24 +2732,18 @@
              pr-menu-bar (vector 'menu-bar 'files
                                  (pr-get-symbol "Print")))))
      (t
-      (easy-menu-change '("files") "Print" pr-menu-spec)))
-
-    ;; Key binding
-    (global-set-key [print]   'pr-ps-fast-fire)
-    (global-set-key [M-print] 'pr-ps-mode-using-ghostscript)
-    (global-set-key [C-print] 'pr-txt-fast-fire))
+    (easy-menu-change '("files") "Print" pr-menu-spec))))
 
 
    ((eq ps-print-emacs-type 'xemacs)   ; XEmacs
     ;; Menu binding
     (pr-xemacs-global-menubar
-     (pr-x-add-submenu nil (cons "Printing" pr-menu-spec) "Apps"))
-
-    ;; Key binding
-    (global-set-key 'f22           'pr-ps-fast-fire)
-    (global-set-key '(meta f22)    'pr-ps-mode-using-ghostscript)
-    (global-set-key '(control f22) 'pr-txt-fast-fire))))
+   (pr-x-add-submenu nil (cons "Printing" pr-menu-spec) "Apps"))))
 
+(defconst pr-print-key (if (featurep 'xemacs) 'f22 'print))
+(global-set-key `[,pr-print-key]   'pr-ps-fast-fire)
+(global-set-key `[(meta ,pr-print-key)] 'pr-ps-mode-using-ghostscript)
+(global-set-key `[(control ,pr-print-key)] 'pr-txt-fast-fire)
 
 ;;; You can also use something like:
 ;;;(global-set-key "\C-ci"  'pr-interface)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]