]> git.eshelyaron.com Git - emacs.git/commitdiff
derived-mode-make-docstring tweak for bug#11277
authorGlenn Morris <rgm@gnu.org>
Tue, 27 Nov 2012 16:40:04 +0000 (11:40 -0500)
committerGlenn Morris <rgm@gnu.org>
Tue, 27 Nov 2012 16:40:04 +0000 (11:40 -0500)
* lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
Don't mention "abbrev" or "syntax" if nil.

lisp/ChangeLog
lisp/emacs-lisp/derived.el

index b6d7c082a8807c8b07636378ce3d24c5ca1688c7..6a1ac6f680dd3fae4e954d6bc7be7cff6961c886 100644 (file)
@@ -1,3 +1,8 @@
+2012-11-27  Glenn Morris  <rgm@gnu.org>
+
+       * emacs-lisp/derived.el (derived-mode-make-docstring):
+       Don't mention "abbrev" or "syntax" if nil.  (Bug#11277)
+
 2012-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * textmodes/table.el (table-insert): Don't use `symbol-name' on
index 8c8d37b21944f32c5f5469b4d732ec0bf0246a9a..f4b79eb3016a0c72200d6ffcdf092e769fc5659a 100644 (file)
@@ -295,16 +295,32 @@ is not very useful."
       ;; Use a default docstring.
       (setq docstring
            (if (null parent)
-               (format "Major-mode.
-Uses keymap `%s', abbrev table `%s' and syntax-table `%s'." map abbrev syntax)
+               ;; FIXME filling.
+               (format "Major-mode.\nUses keymap `%s'%s%s." map
+                       (if abbrev (format "%s abbrev table `%s'"
+                                          (if syntax "," " and") abbrev) "")
+                       (if syntax (format " and syntax-table `%s'" syntax) ""))
              (format "Major mode derived from `%s' by `define-derived-mode'.
-It inherits all of the parent's attributes, but has its own keymap,
-abbrev table and syntax table:
-
-  `%s', `%s' and `%s'
-
-which more-or-less shadow %s's corresponding tables."
-                     parent map abbrev syntax parent))))
+It inherits all of the parent's attributes, but has its own keymap%s:
+
+  `%s'%s
+
+which more-or-less shadow%s %s's corresponding table%s."
+                     parent
+                     (cond ((and abbrev syntax)
+                            ",\nabbrev table and syntax table")
+                           (abbrev "\nand abbrev table")
+                           (syntax "\nand syntax table")
+                           (t ""))
+                     map
+                     (cond ((and abbrev syntax)
+                            (format ", `%s' and `%s'" abbrev syntax))
+                           ((or abbrev syntax)
+                            (format " and `%s'" (or abbrev syntax)))
+                           (t ""))
+                     (if (or abbrev syntax) "" "s")
+                     parent
+                     (if (or abbrev syntax) "s" "")))))
 
     (unless (string-match (regexp-quote (symbol-name hook)) docstring)
       ;; Make sure the docstring mentions the mode's hook.