X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/7b232be923992810d5492fd9d151758b3816a342..73b0cd50031a714347109169ceb8bacae338612a:/lisp/cedet/mode-local.el diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el index c56b609d19..022b8268e1 100644 --- a/lisp/cedet/mode-local.el +++ b/lisp/cedet/mode-local.el @@ -1,6 +1,7 @@ ;;; mode-local.el --- Support for mode local facilities ;; -;; Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. +;; Copyright (C) 2004-2005, 2007-2011 +;; Free Software Foundation, Inc. ;; ;; Author: David Ponce ;; Maintainer: David Ponce @@ -70,6 +71,9 @@ Return nil if MODE has no parent." (or (get mode 'mode-local-parent) (get mode 'derived-mode-parent))) +;; FIXME doc (and function name) seems wrong. +;; Return a list of MODE and all its parent modes, if any. +;; Lists parent modes first. (defun mode-local-equivalent-mode-p (mode) "Is the major-mode in the current buffer equivalent to a mode in MODES." (let ((modes nil)) @@ -377,8 +381,8 @@ To use the symbol MODE (quoted), use `with-mode-local'." The current mode bindings are saved, BODY is evaluated, and the saved bindings are restored, even in case of an abnormal exit. Value is what BODY returns. -This lis like `with-mode-local-symbol', except that MODE is quoted -and is note evaluated." +This is like `with-mode-local-symbol', except that MODE is quoted +and is not evaluated." `(with-mode-local-symbol ',mode ,@body)) (put 'with-mode-local 'lisp-indent-function 1) @@ -442,9 +446,11 @@ DOCSTRING is optional." ;;; Function overloading ;; -(defun make-obsolete-overload (old new) - "Mark OLD overload as obsoleted by NEW overload." +(defun make-obsolete-overload (old new when) + "Mark OLD overload as obsoleted by NEW overload. +WHEN is a string describing the first release where it was made obsolete." (put old 'overload-obsoleted-by new) + (put old 'overload-obsoleted-since when) (put old 'mode-local-overload t) (put new 'overload-obsolete old)) @@ -592,12 +598,12 @@ PROMPT, INITIAL, HIST, and DEFAULT are the same as for `completing-read'." with `define-mode-local-override'.") (sym (overload-obsoleted-by overload))) (when sym - (setq doc (format "%s\nIt makes the overload `%s' obsolete." - doc sym))) + (setq doc (format "%s\nIt has made the overload `%s' obsolete since %s." + doc sym (get sym 'overload-obsoleted-since)))) (setq sym (overload-that-obsolete overload)) (when sym - (setq doc (format "%s\nThis overload is obsoletes;\nUse `%s' instead." - doc sym))) + (setq doc (format "%s\nThis overload is obsolete since %s;\nUse `%s' instead." + doc (get overload 'overload-obsoleted-since) sym))) doc)) (defun mode-local-augment-function-help (symbol) @@ -605,19 +611,16 @@ PROMPT, INITIAL, HIST, and DEFAULT are the same as for `completing-read'." SYMBOL is a function that can be overridden." (with-current-buffer "*Help*" (pop-to-buffer (current-buffer)) - (unwind-protect - (progn - (toggle-read-only -1) - (goto-char (point-min)) - (unless (re-search-forward "^$" nil t) - (goto-char (point-max)) - (beginning-of-line) - (forward-line -1)) - (insert (overload-docstring-extension symbol) "\n") - ;; NOTE TO SELF: - ;; LIST ALL LOADED OVERRIDES FOR SYMBOL HERE - ) - (toggle-read-only 1)))) + (goto-char (point-min)) + (unless (re-search-forward "^$" nil t) + (goto-char (point-max)) + (beginning-of-line) + (forward-line -1)) + (let ((inhibit-read-only t)) + (insert (overload-docstring-extension symbol) "\n") + ;; NOTE TO SELF: + ;; LIST ALL LOADED OVERRIDES FOR SYMBOL HERE + ))) ;; Help for mode-local bindings. (defun mode-local-print-binding (symbol) @@ -723,7 +726,7 @@ invoked interactively." "Display mode local bindings active in BUFFER." (interactive "b") (when (setq buffer (get-buffer buffer)) - (mode-local-describe-bindings-1 buffer (interactive-p)))) + (mode-local-describe-bindings-1 buffer (called-interactively-p 'any)))) (defun describe-mode-local-bindings-in-mode (mode) "Display mode local bindings active in MODE hierarchy." @@ -733,7 +736,7 @@ invoked interactively." #'(lambda (s) (get s 'mode-local-symbol-table)) t (symbol-name major-mode)))) (when (setq mode (intern-soft mode)) - (mode-local-describe-bindings-1 mode (interactive-p)))) + (mode-local-describe-bindings-1 mode (called-interactively-p 'any)))) ;; ;;; find-func support (Emacs 21.4, or perhaps 22.1) ;; ;;