]> git.eshelyaron.com Git - emacs.git/commitdiff
* menu-bar.el: Remove menu-bar-ediff-misc-menu from the Tools
authorChong Yidong <cyd@stupidchicken.com>
Sun, 27 Sep 2009 23:25:03 +0000 (23:25 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sun, 27 Sep 2009 23:25:03 +0000 (23:25 +0000)
menu.

* ediff-hook.el: Move menu-bar-ediff-misc-menu into
menu-bar-ediff-menu.

* emacs-lisp/lisp-mode.el: Add doc-string-elt property to
define-overloadable-function.

* progmodes/autoconf.el: Provide autoconf as well, so that this
file can be `require'd.

* emacs-lisp/cl-macs.el (deftype): Add to cl-loaddefs.

* emacs-lisp/autoload.el (generated-autoload-feature)
(generated-autoload-load-name): New vars.
(autoload-rubric, autoload-generate-file-autoloads): Use them.
(make-autoload): Recognize define-overloadable-function and
defclass forms (for EIEIO).

* Makefile.in (update-subdirs): Exclude cedet directory.

lisp/ChangeLog
lisp/Makefile.in
lisp/ediff-hook.el
lisp/emacs-lisp/autoload.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/lisp-mode.el
lisp/menu-bar.el
lisp/progmodes/autoconf.el

index ccb7bc72cf33ffe2a1bea53774cf57b5dd8668cd..67d4ca6656b52d8fe20ffe7fda36e1b32c83ae97 100644 (file)
@@ -1,3 +1,27 @@
+2009-09-27  Chong Yidong  <cyd@stupidchicken.com>
+
+       * menu-bar.el: Remove menu-bar-ediff-misc-menu from the Tools
+       menu.
+
+       * ediff-hook.el: Move menu-bar-ediff-misc-menu into
+       menu-bar-ediff-menu.
+
+       * emacs-lisp/lisp-mode.el: Add doc-string-elt property to
+       define-overloadable-function.
+
+       * progmodes/autoconf.el: Provide autoconf as well, so that this
+       file can be `require'd.
+
+       * emacs-lisp/cl-macs.el (deftype): Add to cl-loaddefs.
+
+       * emacs-lisp/autoload.el (generated-autoload-feature)
+       (generated-autoload-load-name): New vars.
+       (autoload-rubric, autoload-generate-file-autoloads): Use them.
+       (make-autoload): Recognize define-overloadable-function and
+       defclass forms (for EIEIO).
+
+       * Makefile.in (update-subdirs): Exclude cedet directory.
+
 2009-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 
        * term/ns-win.el: Don't set the region face background. (Bug#4381)
index 2011f117135b5b02fca1a6b4c0a4feb7acbed45c..103bd395bee9b4b4ffee85598119d1948c7f1a4d 100644 (file)
@@ -91,6 +91,15 @@ setwins_almost=subdirs=`(cd $$wd; find . -type d -print)`; \
           esac; \
         done
 
+# Find all subdirectories in which we might want to create subdirs.el
+
+setwins_for_subdirs=subdirs=`(cd $$wd; find . -type d -print)`; \
+       for file in $$subdirs; do \
+          case $$file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* | */cedet* ) ;; \
+               *) wins="$$wins $$wd/$$file" ;; \
+          esac; \
+        done
+
 # `compile-main' tends to be slower than `recompile' but can be parallelized
 # with "make -j" and results in more deterministic compilation warnings.
 # cus-load and finder-inf are not explicitly requested by anything, so
@@ -144,7 +153,7 @@ autoloads: $(LOADDEFS) doit
 $(lisp)/subdirs.el:
        $(MAKE) $(MFLAGS) update-subdirs
 update-subdirs: doit
-       wd=$(lisp); $(setwins); \
+       wd=$(lisp); $(setwins_for_subdirs); \
        for file in $$wins; do \
           $(srcdir)/update-subdirs $$file; \
        done;
index 6576757d706375280dc295ab9b8e030d916b3ac4..92afb838b85ad73ee56ad5570c187051a0de620d 100644 (file)
           :style toggle
           :selected (if (featurep 'ediff-tbar)
                         (ediff-use-toolbar-p))]))
-      
+
       ;; put these menus before Object-Oriented-Browser in Tools menu
       (if (and (featurep 'menubar) (not (featurep 'infodock))
               (not (featurep 'ediff-hook)))
        (symbol-value 'menu-bar-ediff-merge-menu))
   (defvar menu-bar-ediff-menu (make-sparse-keymap "Compare"))
   (fset 'menu-bar-ediff-menu (symbol-value 'menu-bar-ediff-menu))
-  
+
   ;; define ediff compare menu
+  (define-key menu-bar-ediff-menu [ediff-misc]
+    (list 'menu-item "Ediff Miscellanea" menu-bar-ediff-misc-menu))
+  (define-key menu-bar-ediff-menu [separator-ediff-misc] '("--"))
   (define-key menu-bar-ediff-menu [window]
     `(menu-item ,(purecopy "This Window and Next Window") compare-windows
                :help ,(purecopy "Compare the current window and the next window")))
index 2fe333671fe3bda0e6f74e449ae455c653fea5fb..bf00bbb4420ede75b5fb97cafa12e67f4006bcca 100644 (file)
@@ -42,6 +42,18 @@ trailer starting with a FormFeed character.")
 ;;;###autoload
 (put 'generated-autoload-file 'safe-local-variable 'stringp)
 
+(defvar generated-autoload-feature nil
+  "Feature for `generated-autoload-file' to provide.
+If nil, this defaults to `generated-autoload-file', sans extension.")
+;;;###autoload
+(put 'generated-autoload-feature 'safe-local-variable 'symbolp)
+
+(defvar generated-autoload-load-name nil
+  "Load name for `autoload' statements generated from autoload cookies.
+If nil, this defaults to the file name, sans extension.")
+;;;###autoload
+(put 'generated-autoload-load-name 'safe-local-variable 'stringp)
+
 ;; This feels like it should be a defconst, but MH-E sets it to
 ;; ";;;###mh-autoload" for the autoloads that are to go into mh-loaddefs.el.
 (defvar generate-autoload-cookie ";;;###autoload"
@@ -95,11 +107,12 @@ or macro definition or a defcustom)."
                   easy-mmode-define-global-mode define-global-minor-mode
                   define-globalized-minor-mode
                   easy-mmode-define-minor-mode define-minor-mode
-                  defun* defmacro*))
+                  defun* defmacro* define-overloadable-function))
       (let* ((macrop (memq car '(defmacro defmacro*)))
             (name (nth 1 form))
             (args (case car
-                   ((defun defmacro defun* defmacro*) (nth 2 form))
+                   ((defun defmacro defun* defmacro*
+                      define-overloadable-function) (nth 2 form))
                    ((define-skeleton) '(&optional str arg))
                    ((define-generic-mode define-derived-mode
                        define-compilation-mode) nil)
@@ -122,6 +135,14 @@ or macro definition or a defcustom)."
                  (eq (car-safe (car body)) 'interactive))
              (if macrop (list 'quote 'macro) nil))))
 
+     ;; For defclass forms, use `eieio-defclass-autoload'.
+     ((eq car 'defclass)
+      (let ((name (nth 1 form))
+           (superclasses (nth 2 form))
+           (doc (nth 4 form)))
+       (list 'eieio-defclass-autoload (list 'quote name)
+             (list 'quote superclasses) file doc)))
+
      ;; Convert defcustom to less space-consuming data.
      ((eq car 'defcustom)
       (let ((varname (car-safe (cdr-safe form)))
@@ -245,7 +266,12 @@ information contained in FILE."
            ";;\n"
            ";;; Code:\n\n"
            "\f\n"
-           "(provide '" (file-name-sans-extension basename) ")\n"
+           "(provide '"
+           (if (and generated-autoload-feature
+                    (symbolp generated-autoload-feature))
+               (format "%s" generated-autoload-feature)
+             (file-name-sans-extension basename))
+           ")\n"
            ";; Local Variables:\n"
            ";; version-control: never\n"
            ";; no-byte-compile: t\n"
@@ -336,7 +362,7 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE
 \(or OUTBUF if OUTFILE is nil)."
   (catch 'done
     (let ((autoloads-done '())
-          (load-name (autoload-file-load-name file))
+         load-name
           (print-length nil)
          (print-level nil)
           (print-readably t)           ; This does something in Lucid Emacs.
@@ -354,6 +380,10 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE
         ;; Obey the no-update-autoloads file local variable.
         (unless no-update-autoloads
           (message "Generating autoloads for %s..." file)
+         (setq load-name
+               (if (stringp generated-autoload-load-name)
+                   generated-autoload-load-name
+                 (autoload-file-load-name file)))
           (save-excursion
             (save-restriction
               (widen)
index 952c86740f5e0186bbdf8013a1690ffe318ff03e..a0b0d2e092b06aadd57b5bc47526843cab0a02c2 100644 (file)
@@ -2438,6 +2438,7 @@ copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors.
 
 ;;; Types and assertions.
 
+;;;###autoload
 (defmacro deftype (name arglist &rest body)
   "Define NAME as a new data type.
 The type name can then be used in `typecase', `check-type', etc."
index 10a2b3aa41e250edac27d8d0c9f49a77e4106729..b9b7c6ad8f9468247059da9b8dd5acd36c69af13 100644 (file)
 (put 'defalias 'doc-string-elt 3)
 (put 'defvaralias 'doc-string-elt 3)
 (put 'define-category 'doc-string-elt 2)
+(put 'define-overloadable-function 'doc-string-elt 3)
 
 (defvar lisp-doc-string-elt-property 'doc-string-elt
   "The symbol property that holds the docstring position info.")
index 362613bfd18b96afaf037c1e5f29428a12569705..b94faa390ef1b8aedc9b2a3debd7a941dffea7ca 100644 (file)
@@ -1307,8 +1307,6 @@ mail status in mode line"))
 (define-key menu-bar-tools-menu [separator-compare]
   '("--"))
 
-(define-key menu-bar-tools-menu [ediff-misc]
-  `(menu-item ,(purecopy "Ediff Miscellanea") menu-bar-ediff-misc-menu))
 (define-key menu-bar-tools-menu [epatch]
   `(menu-item ,(purecopy "Apply Patch") menu-bar-epatch-menu))
 (define-key menu-bar-tools-menu [ediff-merge]
index 2b7e885c58bfdf56f83861150196a2ae7ef07284..734ae8c4e4455ea655f3b94ff393540cbdead9d7 100644 (file)
@@ -107,6 +107,7 @@ searching backwards at another AC_... command."
   (run-mode-hooks 'autoconf-mode-hook))
 
 (provide 'autoconf-mode)
+(provide 'autoconf)
 
 ;; arch-tag: 4f44778f-2ab3-49a1-a103-f0acb9df2de4
 ;;; autoconf.el ends here