emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Lute Kamstra
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/generic.el
Date: Thu, 12 May 2005 09:23:31 -0400

Index: emacs/lisp/emacs-lisp/generic.el
diff -c emacs/lisp/emacs-lisp/generic.el:1.4 
emacs/lisp/emacs-lisp/generic.el:1.5
*** emacs/lisp/emacs-lisp/generic.el:1.4        Fri Apr 29 13:12:26 2005
--- emacs/lisp/emacs-lisp/generic.el    Thu May 12 13:23:31 2005
***************
*** 117,162 ****
  ;;;###autoload
  (defmacro define-generic-mode (mode comment-list keyword-list
                                    font-lock-list auto-mode-list
!                                   function-list &optional docstring
!                                   &rest custom-keyword-args)
    "Create a new generic mode MODE.
  
! MODE is the name of the command for the generic mode; don't quote
! it.  The optional DOCSTRING is the documentation for the mode
! command.  If you do not supply it, `define-generic-mode' uses a
! default documentation string instead.
! 
! COMMENT-LIST is a list in which each element is either a
! character, a string of one or two characters, or a cons cell.  A
! character or a string is set up in the mode's syntax table as a
! \"comment starter\".  If the entry is a cons cell, the `car' is
! set up as a \"comment starter\" and the `cdr' as a \"comment
! ender\".  (Use nil for the latter if you want comments to end at
! the end of the line.)  Note that the syntax table has limitations
! about what comment starters and enders are actually possible.
  
  KEYWORD-LIST is a list of keywords to highlight with
  `font-lock-keyword-face'.  Each keyword should be a string.
  
! FONT-LOCK-LIST is a list of additional expressions to highlight.
! Each element of this list should have the same form as an element
! of `font-lock-keywords'.
  
  AUTO-MODE-LIST is a list of regular expressions to add to
! `auto-mode-alist'.  These regular expressions are added when
! Emacs runs the macro expansion.
  
! FUNCTION-LIST is a list of functions to call to do some
! additional setup.  The mode command calls these functions just
! before it runs the mode hook.
! 
! The optional CUSTOM-KEYWORD-ARGS are pairs of keywords and values
! to include in the generated `defcustom' form for the mode hook
! variable `MODE-hook'.  The default value for the `:group' keyword
! is MODE with the final \"-mode\" (if any) removed.  (Don't use
! this default group name unless you have written a `defgroup' to
! define that group properly.)  You can specify keyword arguments
! without specifying a docstring.
  
  See the file generic-x.el for some examples of `define-generic-mode'."
    (declare (debug (sexp def-form def-form def-form form def-form
--- 117,153 ----
  ;;;###autoload
  (defmacro define-generic-mode (mode comment-list keyword-list
                                    font-lock-list auto-mode-list
!                                   function-list &optional docstring)
    "Create a new generic mode MODE.
  
! MODE is the name of the command for the generic mode; don't quote it.
! The optional DOCSTRING is the documentation for the mode command.  If
! you do not supply it, `define-generic-mode' uses a default
! documentation string instead.
! 
! COMMENT-LIST is a list in which each element is either a character, a
! string of one or two characters, or a cons cell.  A character or a
! string is set up in the mode's syntax table as a \"comment starter\".
! If the entry is a cons cell, the `car' is set up as a \"comment
! starter\" and the `cdr' as a \"comment ender\".  (Use nil for the
! latter if you want comments to end at the end of the line.)  Note that
! the syntax table has limitations about what comment starters and
! enders are actually possible.
  
  KEYWORD-LIST is a list of keywords to highlight with
  `font-lock-keyword-face'.  Each keyword should be a string.
  
! FONT-LOCK-LIST is a list of additional expressions to highlight.  Each
! element of this list should have the same form as an element of
! `font-lock-keywords'.
  
  AUTO-MODE-LIST is a list of regular expressions to add to
! `auto-mode-alist'.  These regular expressions are added when Emacs
! runs the macro expansion.
  
! FUNCTION-LIST is a list of functions to call to do some additional
! setup.  The mode command calls these functions just before it runs the
! mode hook `MODE-hook'.
  
  See the file generic-x.el for some examples of `define-generic-mode'."
    (declare (debug (sexp def-form def-form def-form form def-form
***************
*** 167,188 ****
    (when (eq (car-safe mode) 'quote)
      (setq mode (eval mode)))
  
-   (when (and docstring (not (stringp docstring)))
-     ;; DOCSTRING is not a string so we assume that it's actually the
-     ;; first keyword of CUSTOM-KEYWORD-ARGS.
-     (push docstring custom-keyword-args)
-     (setq docstring nil))
- 
    (let* ((name (symbol-name mode))
         (pretty-name (capitalize (replace-regexp-in-string
!                                  "-mode\\'" "" name)))
!        (mode-hook (intern (concat name "-hook"))))
! 
!     (unless (plist-get custom-keyword-args :group)
!       (setq custom-keyword-args
!           (plist-put custom-keyword-args
!                      :group `',(intern (replace-regexp-in-string
!                                         "-mode\\'" "" name)))))
  
      `(progn
         ;; Add a new entry.
--- 158,166 ----
    (when (eq (car-safe mode) 'quote)
      (setq mode (eval mode)))
  
    (let* ((name (symbol-name mode))
         (pretty-name (capitalize (replace-regexp-in-string
!                                  "-mode\\'" "" name))))
  
      `(progn
         ;; Add a new entry.
***************
*** 192,206 ****
         (dolist (re ,auto-mode-list)
         (add-to-list 'auto-mode-alist (cons re ',mode)))
  
-        (defcustom ,mode-hook nil
-        ,(concat "Hook run when entering " pretty-name " mode.")
-        :type 'hook
-        ,@custom-keyword-args)
- 
         (defun ,mode ()
         ,(or docstring
              (concat pretty-name " mode.\n"
!                     "This a generic mode defined with 
`define-generic-mode'."))
         (interactive)
         (generic-mode-internal ',mode ,comment-list ,keyword-list
                                ,font-lock-list ,function-list)))))
--- 170,180 ----
         (dolist (re ,auto-mode-list)
         (add-to-list 'auto-mode-alist (cons re ',mode)))
  
         (defun ,mode ()
         ,(or docstring
              (concat pretty-name " mode.\n"
!                     "This a generic mode defined with 
`define-generic-mode'.\n"
!                     "It runs `" name "-hook' as the last thing it does."))
         (interactive)
         (generic-mode-internal ',mode ,comment-list ,keyword-list
                                ,font-lock-list ,function-list)))))




reply via email to

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