diff lisp/emacs-lisp/chart.el @ 112213:6e613fbf73d7

Use run-mode-hooks for major mode hooks. * lisp/textmodes/reftex-toc.el (reftex-toc-mode-map): Rename from reftex-toc-map. (reftex-toc-mode): Use define-derived-mode. * lisp/textmodes/reftex-sel.el (reftex-select-shared-map): New map. (reftex-select-label-mode-map, reftex-select-bib-mode-map): Rename from reftex-select-(label|bib)-map. Move init into declaration. (reftex-select-label-mode, reftex-select-bib-mode): Use define-derived-mode. * lisp/textmodes/reftex-index.el (reftex-index-phrases-mode-map) (reftex-index-mode-map): Rename from reftex-index(-phrases)-map. Move init into delcaration. (reftex-index-mode, reftex-index-phrases-mode): Use define-derived-mode. * lisp/speedbar.el (speedbar-mode-syntax-table): Renaqme from speedbar-syntax-table. Move init into declaration. (speedbar-mode-map): Rename from speedbar-key-map. Move init into declaration. (speedbar-file-key-map): Move init into declaration. (speedbar-mode): Use define-derived-mode. * lisp/recentf.el (recentf-mode): Don't run hook (or message) redundantly. * lisp/net/rcirc.el (rcirc-mode): Use run-mode-hooks. * lisp/emacs-lisp/chart.el (chart-mode-map): Rename from chart-map. (chart-face-list): Move initialization into declaration. (chart-mode): Use define-derived-mode. * lisp/calculator.el (calculator-mode-map): Move init into declaration. (calculator-mode): Use define-derived-mode. * lisp/cedet/srecode/srt-mode.el (srecode-template-mode): Use define-derived-mode. * lisp/cedet/semantic/symref/list.el (semantic-symref-results-mode): Use run-mode-hooks. * lisp/erc/erc.el (erc-mode): * lisp/erc/erc-dcc.el (erc-dcc-chat-mode): Use define-derived-mode. * lisp/org/org-remember.el (org-remember-mode): * lisp/org/org-capture.el (org-capture-mode): Don't run hook redundantly.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 13 Jan 2011 18:14:30 -0500
parents 05dc9dca8729
children
line wrap: on
line diff
--- a/lisp/emacs-lisp/chart.el	Thu Jan 13 16:48:34 2011 -0500
+++ b/lisp/emacs-lisp/chart.el	Thu Jan 13 18:14:30 2011 -0500
@@ -1,7 +1,7 @@
 ;;; chart.el --- Draw charts (bar charts, etc)
 
 ;; Copyright (C) 1996, 1998, 1999, 2001, 2004, 2005, 2007, 2008, 2009,
-;;   2010  Free Software Foundation, Inc.
+;;   2010, 2011  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam  <zappo@gnu.org>
 ;; Version: 0.2
@@ -62,17 +62,13 @@
 (require 'eieio)
 
 ;;; Code:
-(defvar chart-map (make-sparse-keymap) "Keymap used in chart mode.")
+(defvar chart-mode-map (make-sparse-keymap) "Keymap used in chart mode.")
+(define-obsolete-variable-alias 'chart-map 'chart-mode-map "24.1")
 
 (defvar chart-local-object nil
   "Local variable containing the locally displayed chart object.")
 (make-variable-buffer-local 'chart-local-object)
 
-(defvar chart-face-list nil
-  "Faces used to colorize charts.
-List is limited currently, which is ok since you really can't display
-too much in text characters anyways.")
-
 (defvar chart-face-color-list '("red" "green" "blue"
 				"cyan" "yellow" "purple")
   "Colors to use when generating `chart-face-list'.
@@ -90,41 +86,42 @@
   :group 'eieio
   :type 'boolean)
 
-(if (and (if (fboundp 'display-color-p)
-	     (display-color-p)
-	   window-system)
-	 (not chart-face-list))
-    (let ((cl chart-face-color-list)
-	  (pl chart-face-pixmap-list)
-	  nf)
-      (while cl
-	(setq nf (make-face (intern (concat "chart-" (car cl) "-" (car pl)))))
-	(if (condition-case nil
-		(> (x-display-color-cells) 4)
-	      (error t))
-	    (set-face-background nf (car cl))
-	  (set-face-background nf "white"))
-	(set-face-foreground nf "black")
-	(if (and chart-face-use-pixmaps
-		 pl
-		 (fboundp 'set-face-background-pixmap))
-	    (condition-case nil
-		(set-face-background-pixmap nf (car pl))
-	      (error (message "Cannot set background pixmap %s" (car pl)))))
-	(setq chart-face-list (cons nf chart-face-list))
-	(setq cl (cdr cl)
-	      pl (cdr pl)))))
+(defvar chart-face-list
+  (if (if (fboundp 'display-color-p)
+          (display-color-p)
+        window-system)
+      (let ((cl chart-face-color-list)
+            (pl chart-face-pixmap-list)
+            (faces ())
+            nf)
+        (while cl
+          (setq nf (make-face
+                    (intern (concat "chart-" (car cl) "-" (car pl)))))
+          (set-face-background nf (if (condition-case nil
+                                          (> (x-display-color-cells) 4)
+                                        (error t))
+                                      (car cl)
+                                    "white"))
+          (set-face-foreground nf "black")
+          (if (and chart-face-use-pixmaps
+                   pl
+                   (fboundp 'set-face-background-pixmap))
+              (condition-case nil
+                  (set-face-background-pixmap nf (car pl))
+                (error (message "Cannot set background pixmap %s" (car pl)))))
+          (push nf faces)
+          (setq cl (cdr cl)
+                pl (cdr pl)))
+        faces))
+  "Faces used to colorize charts.
+List is limited currently, which is ok since you really can't display
+too much in text characters anyways.")
 
-(defun chart-mode ()
+(define-derived-mode chart-mode fundamental-mode "CHART"
   "Define a mode in Emacs for displaying a chart."
-  (kill-all-local-variables)
-  (use-local-map chart-map)
-  (setq major-mode 'chart-mode
-	mode-name "CHART")
   (buffer-disable-undo)
   (set (make-local-variable 'font-lock-global-modes) nil)
-  (font-lock-mode -1)
-  (run-hooks 'chart-mode-hook)
+  (font-lock-mode -1)                   ;Isn't it off already?  --Stef
   )
 
 (defun chart-new-buffer (obj)