This commit was generated by cvs2svn to compensate for changes in r5209,
[chise/xemacs-chise.git.1] / lisp / menubar-items.el
index 499d150..5f2767f 100644 (file)
 
 ;;; Code:
 
-(defun Menubar-items-truncate-list (list n)
+(defun Menubar-items-truncate-history (list count label-length)
+  "Truncate a history LIST to first COUNT items.
+Return a list of (label value) lists with labels truncated to last
+LABEL-LENGTH characters of value."
   (mapcar #'(lambda (x)
-             (if (<= (length x) 50) x (concat "..." (substring x -50))))
-         (if (<= (length list) n)
+             (if (<= (length x) label-length)
+                  (list x x)
+                (list
+                 (concat "..." (substring x (- label-length))) x)))
+         (if (<= (length list) count)
              list
-           (butlast list (- (length list) n)))))
+           (butlast list (- (length list) count)))))
 
 (defun submenu-generate-accelerator-spec (list &optional omit-chars-list)
   "Add auto-generated accelerator specifications to a submenu.
@@ -141,15 +147,16 @@ which will not be used as accelerators."
       ["Save %_As..." write-file]
       ["Save So%_me Buffers" save-some-buffers]
       "-----"
-      ,@(if (eq system-type 'windows-nt)
+      ,@(if (valid-specifier-tag-p 'msprinter)
          '(["Page Set%_up..." generic-page-setup]))
       ["%_Print" generic-print-buffer
        :active (or (valid-specifier-tag-p 'msprinter)
                   (and (not (eq system-type 'windows-nt))
                        (fboundp 'lpr-region)))
-       :suffix (if put-buffer-names-in-file-menu (concat (buffer-name) "...")
-                "...")]
-      ,@(unless (eq system-type 'windows-nt)
+       :suffix (if (region-active-p) "Selection..."
+                (if put-buffer-names-in-file-menu (concat (buffer-name) "...")
+                  "..."))]
+      ,@(unless (valid-specifier-tag-p 'msprinter)
          '(["Prett%_y-Print" ps-print-buffer-with-faces
             :active (fboundp 'ps-print-buffer-with-faces)
             :suffix (if put-buffer-names-in-file-menu (buffer-name) "")]))
@@ -434,10 +441,11 @@ which will not be used as accelerators."
             menu
           (let ((items
                  (submenu-generate-accelerator-spec
-                  (mapcar #'(lambda (string)
-                              (vector string
-                                      (list 'grep string)))
-                          (Menubar-items-truncate-list grep-history 10)))))
+                   (mapcar #'(lambda (label-value)
+                              (vector (first label-value)
+                                      (list 'grep (second label-value))))
+                          (Menubar-items-truncate-history
+                            grep-history 10 50)))))
             (append menu '("---") items))))
        ["%_Grep..." grep :active (fboundp 'grep)]
        ["%_Kill Grep" kill-compilation
@@ -542,10 +550,11 @@ which will not be used as accelerators."
             menu
           (let ((items
                  (submenu-generate-accelerator-spec
-                  (mapcar #'(lambda (string)
-                              (vector string
-                                      (list 'compile string)))
-                          (Menubar-items-truncate-list compile-history 10)))))
+                  (mapcar #'(lambda (label-value)
+                              (vector (first label-value)
+                                      (list 'compile (second label-value))))
+                          (Menubar-items-truncate-history
+                            compile-history 10 50)))))
             (append menu '("---") items))))
        ["%_Compile..." compile :active (fboundp 'compile)]
        ["%_Repeat Compilation" recompile :active (fboundp 'recompile)]
@@ -1483,8 +1492,8 @@ which will not be used as accelerators."
        ["Find %_Packages" finder-by-keyword]
        ["View %_Splash Screen" xemacs-splash-buffer]
        ["%_Unix Manual..." manual-entry])
-      ["Send %_Bug Report..." report-emacs-bug
-       :active (fboundp 'report-emacs-bug)])))
+      ["Send %_Bug Report..." report-xemacs-bug
+       :active (fboundp 'report-xemacs-bug)])))
 
 \f
 (defun maybe-add-init-button ()