emacs-devel
[Top][All Lists]
Advanced

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

Re: Global Font Lock by default


From: Luc Teirlinck
Subject: Re: Global Font Lock by default
Date: Thu, 3 Nov 2005 20:03:20 -0600 (CST)

Below is a slightly revised version of my patch to easy-mmode.  The
only differences with my prior patch are that the new treatment of
keywords is now reflected in the docstring and that a :global keyword
is now ignored, since the very use of `define-global-minor-mode'
implies that it must be t.  If my patches seem OK, I would also update
the Elisp doc for `define-global-minor-mode'.

===File ~/easy-mmode-diff===================================
*** easy-mmode.el       24 Aug 2005 08:06:37 -0500      1.71
--- easy-mmode.el       03 Nov 2005 19:04:26 -0600      
***************
*** 272,279 ****
    "Make GLOBAL-MODE out of the buffer-local minor MODE.
  TURN-ON is a function that will be called with no args in every buffer
    and that should try to turn MODE on if applicable for that buffer.
! KEYS is a list of CL-style keyword arguments:
! :group to specify the custom group.
  
  If MODE's set-up depends on the major mode in effect when it was
  enabled, then disabling and reenabling MODE should make MODE work
--- 272,285 ----
    "Make GLOBAL-MODE out of the buffer-local minor MODE.
  TURN-ON is a function that will be called with no args in every buffer
    and that should try to turn MODE on if applicable for that buffer.
! KEYS is a list of CL-style keyword arguments.  As the minor mode
!   defined by this function is always global, any :global keyword is
!   ignored.  Other keywords have the same meaning as in `define-minor-mode',
!   which see.  In particular, :group specifies the custom group.
!   The most useful keywords are those that are passed on to the
!   `defcustom'.  It normally makes no sense to pass the :lighter
!   or :keymap keywords to `define-global-minor-mode', since these
!   are usually passed to the buffer-local version of the minor mode.
  
  If MODE's set-up depends on the major mode in effect when it was
  enabled, then disabling and reenabling MODE should make MODE work
***************
*** 285,305 ****
         (pretty-name (easy-mmode-pretty-mode-name mode))
         (pretty-global-name (easy-mmode-pretty-mode-name global-mode))
         (group nil)
!        (extra-args nil)
         (MODE-buffers (intern (concat global-mode-name "-buffers")))
         (MODE-enable-in-buffers
          (intern (concat global-mode-name "-enable-in-buffers")))
         (MODE-check-buffers
          (intern (concat global-mode-name "-check-buffers")))
         (MODE-cmhh (intern (concat global-mode-name "-cmhh")))
!        (MODE-major-mode (intern (concat (symbol-name mode) "-major-mode"))))
  
      ;; Check keys.
!     (while (keywordp (car keys))
!       (case (pop keys)
!       (:extra-args (setq extra-args (pop keys)))
        (:group (setq group (nconc group (list :group (pop keys)))))
!       (t (setq keys (cdr keys)))))
  
      (unless group
        ;; We might as well provide a best-guess default group.
--- 291,313 ----
         (pretty-name (easy-mmode-pretty-mode-name mode))
         (pretty-global-name (easy-mmode-pretty-mode-name global-mode))
         (group nil)
!        (extra-keywords nil)
         (MODE-buffers (intern (concat global-mode-name "-buffers")))
         (MODE-enable-in-buffers
          (intern (concat global-mode-name "-enable-in-buffers")))
         (MODE-check-buffers
          (intern (concat global-mode-name "-check-buffers")))
         (MODE-cmhh (intern (concat global-mode-name "-cmhh")))
!        (MODE-major-mode (intern (concat (symbol-name mode) "-major-mode")))
!        keyw)
  
      ;; Check keys.
!     (while (keywordp (setq keyw (car keys)))
!       (setq keys (cdr keys))
!       (case keyw
        (:group (setq group (nconc group (list :group (pop keys)))))
!       (:global (setq keys (cdr keys)))
!       (t (push keyw extra-keywords) (push (pop keys) extra-keywords))))
  
      (unless group
        ;; We might as well provide a best-guess default group.
***************
*** 317,323 ****
  %s is actually not turned on in every buffer but only in those
  in which `%s' turns it on."
                  pretty-name pretty-global-name pretty-name turn-on)
!        :global t :extra-args ,extra-args ,@group
  
         ;; Setup hook to handle future mode changes and new buffers.
         (if ,global-mode
--- 325,331 ----
  %s is actually not turned on in every buffer but only in those
  in which `%s' turns it on."
                  pretty-name pretty-global-name pretty-name turn-on)
!        :global t ,@group ,@(nreverse extra-keywords)
  
         ;; Setup hook to handle future mode changes and new buffers.
         (if ,global-mode
============================================================




reply via email to

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