# HG changeset patch # User Dave Love # Date 961426450 0 # Node ID 96e0d508f23417b7bdce4965cd01dd33362c4fc3 # Parent c6131eab4c4e8e5fbe0b58383fd7df98a99bce81 (menu-bar-options-save): New function. (menu-bar-options-menu): Use it. (menu-bar-options-menu) : Simplify. diff -r c6131eab4c4e -r 96e0d508f234 lisp/menu-bar.el --- a/lisp/menu-bar.el Mon Jun 19 13:07:47 2000 +0000 +++ b/lisp/menu-bar.el Mon Jun 19 14:54:10 2000 +0000 @@ -517,6 +517,32 @@ (define-key menu-bar-options-menu [customize] (list 'menu-item "Customize Emacs" menu-bar-custom-menu :help "Full customization of every Emacs feature")) + +(defun menu-bar-options-save () + "Save current values of Options menu items using Custom." + (interactive) + (dolist (elt '(debug-on-quit debug-on-error auto-compression-mode + case-fold-search truncate-lines show-paren-mode + transient-mark-mode global-font-lock-mode + current-language-environment default-input-method)) + (if (default-value elt) + (customize-save-variable elt (default-value elt)))) + (if (memq 'turn-on-auto-fill text-mode-hook) + (customize-save-variable 'text-mode-hook + (default-value 'text-mode-hook))) + (if (featurep 'saveplace) + (customize-save-variable 'save-place (default-value 'save-place))) + (if (featurep 'uniquify) + (customize-save-variable 'uniquify-buffer-name-style + (default-value 'uniquify-buffer-name-style)))) + +(define-key menu-bar-options-menu [save] + '(menu-item "Save options" menu-bar-options-save + :help "Save options set from the menu above")) + +(define-key menu-bar-options-menu [custom-separator] + '("--")) + (define-key menu-bar-options-menu [mule] ;; It is better not to use backquote here, ;; because that makes a bootstrapping problem @@ -556,7 +582,8 @@ "Saving place in files %s" "Save Emacs state for next session" (require 'saveplace) - (setq-default save-place (not (default-value save-place))))) + (setq-default save-place + (not (default-value save-place))))) (define-key menu-bar-options-menu [uniquify] (menu-bar-make-toggle toggle-uniquify-buffer-names uniquify-buffer-name-style "Use Directory Names in Buffer Names" @@ -602,14 +629,7 @@ "Highlight Syntax (Global Font Lock)" "Syntax Highlighting %s" "Highlights text based on language syntax" - ;; Make sure a support mode is used; - ;; otherwise Font Lock will be too slow. - (require 'font-lock) - (if (not global-font-lock-mode) - (or font-lock-support-mode - (setq font-lock-support-mode 'lazy-lock-mode))) - (global-font-lock-mode))) - + global-font-lock-mode)) ;; The "Tools" menu items @@ -1022,16 +1042,16 @@ ;; Now make the actual list of items, ;; ending with the list-buffers item. (nconc (mapcar (lambda (pair) - ;; This is somewhat risque, to use - ;; the buffer name itself as the event - ;; type to define, but it works. - ;; It would not work to use the buffer - ;; since a buffer as an event has its - ;; own meaning. - (nconc (list (buffer-name (cdr pair)) - (car pair) - (cons nil nil)) - 'menu-bar-select-buffer)) + ;; This is somewhat risque, to use + ;; the buffer name itself as the event + ;; type to define, but it works. + ;; It would not work to use the buffer + ;; since a buffer as an event has its + ;; own meaning. + (nconc (list (buffer-name (cdr pair)) + (car pair) + (cons nil nil)) + 'menu-bar-select-buffer)) alist) (list menu-bar-buffers-menu-list-buffers-entry))))) @@ -1044,12 +1064,14 @@ (frames-menu (cons 'keymap (cons "Select Frame" - (mapcar (lambda (frame) - (nconc (list frame - (cdr (assq 'name - (frame-parameters frame))) - (cons nil nil)) - 'menu-bar-select-frame)) + (mapcar + (lambda (frame) + (nconc + (list frame + (cdr (assq 'name + (frame-parameters frame))) + (cons nil nil)) + 'menu-bar-select-frame)) frames))))) ;; Put it underneath the Buffers menu. (setq buffers-menu (cons (cons 'frames (cons name frames-menu))