;;; Code:
-(defun menu-truncate-list (list n)
- (if (<= (length list) n)
- list
- (butlast list (- (length 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) label-length)
+ (list x x)
+ (list
+ (concat "..." (substring x (- label-length))) x)))
+ (if (<= (length list) count)
+ list
+ (butlast list (- (length list) count)))))
(defun submenu-generate-accelerator-spec (list &optional omit-chars-list)
"Add auto-generated accelerator specifications to a submenu.
["Save %_As..." write-file]
["Save So%_me Buffers" save-some-buffers]
"-----"
+ ,@(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-buffer)))
- :suffix (if put-buffer-names-in-file-menu (concat (buffer-name) "...")
- "...")]
- ["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) "")]
+ (fboundp 'lpr-region)))
+ :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) "")]))
"-----"
["%_Revert Buffer" revert-buffer
:active (or buffer-file-name revert-buffer-function)
menu
(let ((items
(submenu-generate-accelerator-spec
- (mapcar #'(lambda (string)
- (vector string
- (list 'grep string)))
- (menu-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
menu
(let ((items
(submenu-generate-accelerator-spec
- (mapcar #'(lambda (string)
- (vector string
- (list 'compile string)))
- (menu-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)]
:active (and (boundp 'browse-url-browser-function)
(fboundp 'browse-url-w3)
(fboundp 'w3-fetch))]
+ ["Emacs-%_W3 (gnudoit)"
+ (customize-set-variable 'browse-url-browser-function 'browse-url-w3-gnudoit)
+ :style radio
+ :selected (and (boundp 'browse-url-browser-function)
+ (eq browse-url-browser-function
+ 'browse-url-w3-gnudoit))
+ :active (and (boundp 'browse-url-browser-function)
+ (fboundp 'browse-url-w3-gnudoit))]
["%_Netscape"
(customize-set-variable 'browse-url-browser-function
'browse-url-netscape)
(eq browse-url-browser-function 'browse-url-grail))
:active (and (boundp 'browse-url-browser-function)
(fboundp 'browse-url-grail))]
- ["%_Kfm"
+ ["%_KDE"
+ (customize-set-variable 'browse-url-browser-function
+ 'browse-url-kde)
+ :style radio
+ :selected (and (boundp 'browse-url-browser-function)
+ (eq browse-url-browser-function 'browse-url-kde))
+ :active (and (boundp 'browse-url-browser-function)
+ (fboundp 'browse-url-kde))]
+ ["Mo%_zilla"
+ (customize-set-variable 'browse-url-browser-function
+ 'browse-url-mozilla)
+ :style radio
+ :selected (and (boundp 'browse-url-browser-function)
+ (eq browse-url-browser-function 'browse-url-mozilla))
+ :active (and (boundp 'browse-url-browser-function)
+ (fboundp 'browse-url-mozilla))]
+ ["G%_aleon"
+ (customize-set-variable 'browse-url-browser-function
+ 'browse-url-galeon)
+ :style radio
+ :selected (and (boundp 'browse-url-browser-function)
+ (eq browse-url-browser-function 'browse-url-galeon))
+ :active (and (boundp 'browse-url-browser-function)
+ (fboundp 'browse-url-galeon))]
+ ["%_Opera"
+ (customize-set-variable 'browse-url-browser-function
+ 'browse-url-opera)
+ :style radio
+ :selected (and (boundp 'browse-url-browser-function)
+ (eq browse-url-browser-function 'browse-url-opera))
+ :active (and (boundp 'browse-url-browser-function)
+ (fboundp 'browse-url-opera))]
+ ["%_MMM"
+ (customize-set-variable 'browse-url-browser-function
+ 'browse-url-mmm)
+ :style radio
+ :selected (and (boundp 'browse-url-browser-function)
+ (eq browse-url-browser-function 'browse-url-mmm))
+ :active (and (boundp 'browse-url-browser-function)
+ (fboundp 'browse-url-mmm))]
+ ["MS-Windows Default %_Browser"
+ (customize-set-variable 'browse-url-browser-function
+ 'browse-url-default-windows-browser)
+ :style radio
+ :selected (and (boundp 'browse-url-browser-function)
+ (eq browse-url-browser-function
+ 'browse-url-default-windows-browser))
+ :active (and (boundp 'browse-url-browser-function)
+ (fboundp 'mswindows-shell-execute)
+ (fboundp 'browse-url-default-windows-browser))]
+ ["G%_eneric Browser"
(customize-set-variable 'browse-url-browser-function
- 'browse-url-kfm)
+ 'browse-url-generic)
:style radio
:selected (and (boundp 'browse-url-browser-function)
- (eq browse-url-browser-function 'browse-url-kfm))
+ (eq browse-url-browser-function 'browse-url-generic))
:active (and (boundp 'browse-url-browser-function)
- (fboundp 'browse-url-kfm))]
+ (boundp 'browse-url-generic-program)
+ browse-url-generic-program
+ (fboundp 'browse-url-generic))]
))
("%_Troubleshooting"
["%_Debug on Error"
("%_Help"
["%_About XEmacs..." about-xemacs]
"-----"
- ["XEmacs %_News" view-emacs-news]
+ ["What's %_New in XEmacs" view-emacs-news]
["%_Obtaining XEmacs" describe-distribution]
"-----"
("%_Info (Online Docs)"
["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 ()