emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/menu-bar.el


From: Per Abrahamsen
Subject: [Emacs-diffs] Changes to emacs/lisp/menu-bar.el
Date: Mon, 11 Feb 2002 11:48:00 -0500

Index: emacs/lisp/menu-bar.el
diff -c emacs/lisp/menu-bar.el:1.197 emacs/lisp/menu-bar.el:1.198
*** emacs/lisp/menu-bar.el:1.197        Sun Feb 10 12:26:14 2002
--- emacs/lisp/menu-bar.el      Mon Feb 11 11:47:55 2002
***************
*** 530,541 ****
                (substring help 1) ".")
         (interactive)
         (if ,(if body `(progn . ,body)
!             `(setq ,variable (not ,variable)))
!          (message ,message "enabled")
         (message ,message "disabled")))
!      '(menu-item ,doc ,name
                 :help ,help
!                  :button (:toggle . (and (boundp ',variable) ,variable)))))
  
  ;;; Assemble all the top-level items of the "Options" menu
  (define-key menu-bar-options-menu [customize]
--- 530,557 ----
                (substring help 1) ".")
         (interactive)
         (if ,(if body `(progn . ,body)
!             `(progn 
!                (custom-load-symbol ',variable)
!                (let ((set (or (get ',variable 'custom-set) 'set-default))
!                      (get (or (get ',variable 'custom-get) 'default-value)))
!                  (funcall set ',variable (not (funcall get ',variable))))))
!          (message ,message "enabled")
         (message ,message "disabled")))
!      ;; The function `customize-mark-as-set' must only be called when
!      ;; a variable is set interactively, as the purpose is to mark it
!      ;; as a candidate for "Save Options", and we do not want to save
!      ;; options the user have already set explicitly in his init
!      ;; file.  Unfortunately, he could very likely call the function
!      ;; defined above there.  So we put `customize-mark-as-set' in a
!      ;; lambda expression. 
!      ;; -- Per Abrahamsen <address@hidden> 2002-02-11.
!      '(menu-item ,doc (lambda ()
!                       (interactive)
!                       (,name)
!                       (customize-mark-as-set ',variable))
                 :help ,help
!                  :button (:toggle . (and (default-boundp ',variable)
!                                        (default-value ',variable))))))
  
  ;;; Assemble all the top-level items of the "Options" menu
  (define-key menu-bar-options-menu [customize]
***************
*** 546,572 ****
    "Save current values of Options menu items using Custom."
    (interactive)
    (let ((need-save nil))
!     (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
!                  default-frame-alist display-time-mode
!                  line-number-mode column-number-mode))
        (when (customize-mark-to-save elt)
        (setq need-save t)))
-     ;; We only want to save text-mode-hook after adding or removing auto fill.
-     (and (or (memq 'turn-on-auto-fill text-mode-hook) ;Added.
-            ;; If it is already saved, it is safe to save.
-            (get 'text-mode-hook 'saved-value)) ;Maybe removed.
-        (customize-mark-to-save 'text-mode-hook)
-        (setq need-save t))
-     ;; Avoid loading extra libraries.
-     (and (featurep 'saveplace)
-        (customize-mark-to-save 'save-place)
-        (setq need-save t))
-     (and (featurep 'uniquify)
-        (customize-mark-to-save 'uniquify-buffer-name-style)
-        (setq need-save t))
      ;; Save if we changed anything.
      (when need-save
        (custom-save-all))))
--- 562,588 ----
    "Save current values of Options menu items using Custom."
    (interactive)
    (let ((need-save nil))
!     ;; These are set with `customize-set-variable'.
!     (dolist (elt '(line-number-mode column-number-mode scroll-bar-mode
!                  debug-on-quit debug-on-error menu-bar-mode tool-bar-mode
!                  save-place uniquify-buffer-name-style
                   case-fold-search truncate-lines show-paren-mode
                   transient-mark-mode global-font-lock-mode
!                  display-time-mode auto-compression-mode
!                  ;; Saving `text-mode-hook' is somewhat questionable,
!                  ;; as we might get more than we bargain for, if
!                  ;; other code may has added hooks as well.
!                  ;; Nonetheless, not saving it would like be confuse
!                  ;; more often.
!                  ;; -- Per Abrahamsen <address@hidden> 2002-02-11.
!                  text-mode-hook))
!       (and (get elt 'customized-value)
!          (customize-mark-to-save elt)
!          (setq need-save t)))
!     ;; These are set with other functions.
!     (dolist (elt '(current-language-environment default-input-method))
        (when (customize-mark-to-save elt)
        (setq need-save t)))
      ;; Save if we changed anything.
      (when need-save
        (custom-save-all))))
***************
*** 603,609 ****
      (message "Display-time mode disabled.")))
  
  (define-key menu-bar-showhide-menu [showhide-date-time]
!   '(menu-item "Date and time" showhide-date-time
              :help "Display date and time in the mode-line"
              :button (:toggle . display-time-mode)))
  
--- 619,628 ----
      (message "Display-time mode disabled.")))
  
  (define-key menu-bar-showhide-menu [showhide-date-time]
!   '(menu-item "Date and time" (lambda ()
!                               (interactive)
!                               (showhide-date-time)
!                               (customize-mark-as-set 'display-time-mode))
              :help "Display date and time in the mode-line"
              :button (:toggle . display-time-mode)))
  
***************
*** 612,649 ****
  
  (defvar menu-bar-showhide-scroll-bar-menu (make-sparse-keymap "Scroll-bar"))
  
- (defun menu-bar-scroll-bar-right ()
-   "Turn on the scroll-bar on the right side."
-   (interactive)
-   (set-scroll-bar-mode 'right))
- 
- (defun menu-bar-scroll-bar-left ()
-   "Turn on the scroll-bar on the left side."
-   (interactive)
-   (set-scroll-bar-mode 'left))
- 
- (defun menu-bar-scroll-bar-none ()
-   "Turn off the scroll-bar."
-   (interactive)
-   (set-scroll-bar-mode nil))
- 
  (define-key menu-bar-showhide-scroll-bar-menu [right]
!   '(menu-item "On the Right" menu-bar-scroll-bar-right
              :help "Scroll-bar on the right side"
              :visible window-system
!             :button (:radio . (eq (cdr (assq 'vertical-scroll-bars 
(frame-parameters))) 'right))))
  
  (define-key menu-bar-showhide-scroll-bar-menu [left]
!   '(menu-item "On the Left" menu-bar-scroll-bar-left
              :help "Scroll-bar on the left side"
              :visible window-system
!             :button (:radio . (eq (cdr (assq 'vertical-scroll-bars 
(frame-parameters))) 'left))))
  
  (define-key menu-bar-showhide-scroll-bar-menu [none]
!   '(menu-item "None" menu-bar-scroll-bar-none
              :help "Turn off scroll-bar"
              :visible window-system
!             :button (:radio . (eq (cdr (assq 'vertical-scroll-bars 
(frame-parameters))) nil))))
  
  (define-key menu-bar-showhide-menu [showhide-scroll-bar]
    (list 'menu-item "Scroll-Bar" menu-bar-showhide-scroll-bar-menu
--- 631,665 ----
  
  (defvar menu-bar-showhide-scroll-bar-menu (make-sparse-keymap "Scroll-bar"))
  
  (define-key menu-bar-showhide-scroll-bar-menu [right]
!   '(menu-item "On the Right" 
!             (lambda ()
!               (interactive)
!               (customize-set-variable 'scroll-bar-mode 'right))
              :help "Scroll-bar on the right side"
              :visible window-system
!             :button (:radio . (eq (cdr (assq 'vertical-scroll-bars
!                                              (frame-parameters))) 'right))))
  
  (define-key menu-bar-showhide-scroll-bar-menu [left]
!   '(menu-item "On the Left"      
!             (lambda ()
!               (interactive)
!               (customize-set-variable 'scroll-bar-mode 'left))
              :help "Scroll-bar on the left side"
              :visible window-system
!             :button (:radio . (eq (cdr (assq 'vertical-scroll-bars
!                                              (frame-parameters))) 'left))))
  
  (define-key menu-bar-showhide-scroll-bar-menu [none]
!   '(menu-item "None" 
!             (lambda ()
!               (interactive)
!               (customize-set-variable 'scroll-bar-mode nil))
              :help "Turn off scroll-bar"
              :visible window-system
!             :button (:radio . (eq (cdr (assq 'vertical-scroll-bars
!                                              (frame-parameters))) nil))))
  
  (define-key menu-bar-showhide-menu [showhide-scroll-bar]
    (list 'menu-item "Scroll-Bar" menu-bar-showhide-scroll-bar-menu
***************
*** 659,665 ****
      (message "Menu-bar mode disabled.  Use M-x menu-bar-mode to make the menu 
bar appear.")))
  
  (define-key menu-bar-showhide-menu [showhide-menu-bar]
!   '(menu-item "Menu-bar" showhide-menu-bar
              :help "Toggle menu-bar on/off"
              :button (:toggle . menu-bar-mode)))
  
--- 675,685 ----
      (message "Menu-bar mode disabled.  Use M-x menu-bar-mode to make the menu 
bar appear.")))
  
  (define-key menu-bar-showhide-menu [showhide-menu-bar]
!   '(menu-item "Menu-bar" 
!             (lambda ()
!               (interactive)
!               (showhide-menu-bar)
!               (customize-mark-as-set 'menu-bar-mode))
              :help "Toggle menu-bar on/off"
              :button (:toggle . menu-bar-mode)))
  
***************
*** 671,677 ****
      (message "Tool-bar mode disabled.")))
  
  (define-key menu-bar-showhide-menu [showhide-tool-bar]
!   '(menu-item "Tool-bar" showhide-tool-bar
              :help "Turn tool-bar on/off"
              :visible window-system
              :button (:toggle . tool-bar-mode)))
--- 691,701 ----
      (message "Tool-bar mode disabled.")))
  
  (define-key menu-bar-showhide-menu [showhide-tool-bar]
!   '(menu-item "Tool-bar" 
!             (lambda ()
!               (interactive)
!               (showhide-tool-bar)
!               (customize-mark-as-set 'tool-bar-mode))
              :help "Turn tool-bar on/off"
              :visible window-system
              :button (:toggle . tool-bar-mode)))
***************
*** 712,729 ****
    '("--"))
  (define-key menu-bar-options-menu [toggle-auto-compression]
    '(menu-item "Automatic File De/compression"
!              auto-compression-mode
!            :help "Transparently decompress compressed files"
!              :button (:toggle . (rassq 'jka-compr-handler
!                                      file-name-handler-alist))))
  (define-key menu-bar-options-menu [save-place]
    (menu-bar-make-toggle toggle-save-place-globally save-place
                        "Save Place in Files between Sessions"
                        "Saving place in files %s"
!                       "Save Emacs state for next session"
!                         (require 'saveplace)
!                       (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"
--- 736,754 ----
    '("--"))
  (define-key menu-bar-options-menu [toggle-auto-compression]
    '(menu-item "Automatic File De/compression"
!             (lambda ()
!               (interactive)
!               (auto-compression-mode)
!               (customize-mark-as-set 'auto-compression-mode))
!             :help "Transparently decompress compressed files"
!             :button (:toggle . (rassq 'jka-compr-handler
!                                       file-name-handler-alist))))
  (define-key menu-bar-options-menu [save-place]
    (menu-bar-make-toggle toggle-save-place-globally save-place
                        "Save Place in Files between Sessions"
                        "Saving place in files %s"
!                       "Save Emacs state for next session"))
! 
  (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"
***************
*** 733,738 ****
--- 758,764 ----
                        (setq uniquify-buffer-name-style
                              (if (not uniquify-buffer-name-style)
                                  'forward))))
+ 
  (define-key menu-bar-options-menu [edit-options-separator]
    '("--"))
  (define-key menu-bar-options-menu [case-fold-search]
***************
*** 742,748 ****
                        "Ignore letter-case in search"))
  (define-key menu-bar-options-menu [auto-fill-mode]
    '(menu-item "Word Wrap in Text Modes (Auto Fill)"
!               toggle-text-mode-auto-fill
              :help "Automatically fill text between left and right margins"
                :button (:toggle . (member 'turn-on-auto-fill text-mode-hook))))
  (define-key menu-bar-options-menu [truncate-lines]
--- 768,780 ----
                        "Ignore letter-case in search"))
  (define-key menu-bar-options-menu [auto-fill-mode]
    '(menu-item "Word Wrap in Text Modes (Auto Fill)"
!               (lambda ()
!               (interactive)
!               (toggle-text-mode-auto-fill)
!               ;; This is somewhat questionable, as `text-mode-hook'
!               ;; might have changed outside customize.  
!               ;; -- Per Abrahamsen <address@hidden> 2002-02-11.
!               (customize-mark-as-set 'text-mode-hook))
              :help "Automatically fill text between left and right margins"
                :button (:toggle . (member 'turn-on-auto-fill text-mode-hook))))
  (define-key menu-bar-options-menu [truncate-lines]
***************
*** 750,756 ****
     toggle-truncate-lines truncate-lines
     "Truncate Long Lines in this Buffer" "Long Line Truncation %s"
     "Truncate long lines on the screen"
!    (prog1 (setq truncate-lines (not truncate-lines))
       (set-buffer-modified-p (buffer-modified-p)))))
  (define-key menu-bar-options-menu [highlight-separator]
    '("--"))
--- 782,791 ----
     toggle-truncate-lines truncate-lines
     "Truncate Long Lines in this Buffer" "Long Line Truncation %s"
     "Truncate long lines on the screen"
!    ;; FIXME: We should define a :set method for `truncate-lines' to do
!    ;; the `buffer-modified-p' stuff.
!    ;; -- Per Abrahamsen <address@hidden> 2002-02-11.
!    (prog1 (setq-default truncate-lines (not truncate-lines))
       (set-buffer-modified-p (buffer-modified-p)))))
  (define-key menu-bar-options-menu [highlight-separator]
    '("--"))
***************
*** 758,765 ****
    (menu-bar-make-toggle toggle-highlight-paren-mode show-paren-mode
                        "Paren Match Highlighting (Show Paren mode)"
                        "Show Paren mode %s"
!                       "Highlight matching/mismatched parentheses at cursor"
!                       (show-paren-mode)))
  (define-key menu-bar-options-menu [transient-mark-mode]
    (menu-bar-make-toggle toggle-transient-mark-mode transient-mark-mode
                        "Active Region Highlighting (Transient Mark mode)"
--- 793,799 ----
    (menu-bar-make-toggle toggle-highlight-paren-mode show-paren-mode
                        "Paren Match Highlighting (Show Paren mode)"
                        "Show Paren mode %s"
!                       "Highlight matching/mismatched parentheses at cursor"))
  (define-key menu-bar-options-menu [transient-mark-mode]
    (menu-bar-make-toggle toggle-transient-mark-mode transient-mark-mode
                        "Active Region Highlighting (Transient Mark mode)"
***************
*** 769,776 ****
    (menu-bar-make-toggle toggle-global-lazy-font-lock-mode 
global-font-lock-mode
                        "Syntax Highlighting (Global Font Lock mode)"
                        "Global Font Lock mode %s"
!                       "Colorize text based on language syntax"
!                       (global-font-lock-mode)))
  
  
  ;; The "Tools" menu items
--- 803,809 ----
    (menu-bar-make-toggle toggle-global-lazy-font-lock-mode 
global-font-lock-mode
                        "Syntax Highlighting (Global Font Lock mode)"
                        "Global Font Lock mode %s"
!                       "Colorize text based on language syntax"))
  
  
  ;; The "Tools" menu items
***************
*** 1402,1407 ****
--- 1435,1446 ----
    :initialize 'custom-initialize-default
    :type 'boolean
    :group 'frames)
+ 
+ ;;; `menu-bar-mode' doesn't really have a standard value, as it depend
+ ;;; on where and how Emacs was started.  By removing the standard
+ ;;; value, we ensure that customize will always save it.
+ ;; -- Per Abrahamsen <address@hidden> 2002-02-11.
+ (put 'menu-bar-mode 'standard-value nil)
  
  (defun menu-bar-mode (&optional flag)
    "Toggle display of a menu bar on each frame.



reply via email to

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