comparison 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
comparison
equal deleted inserted replaced
112212:966cc18ff805 112213:6e613fbf73d7
1 ;;; chart.el --- Draw charts (bar charts, etc) 1 ;;; chart.el --- Draw charts (bar charts, etc)
2 2
3 ;; Copyright (C) 1996, 1998, 1999, 2001, 2004, 2005, 2007, 2008, 2009, 3 ;; Copyright (C) 1996, 1998, 1999, 2001, 2004, 2005, 2007, 2008, 2009,
4 ;; 2010 Free Software Foundation, Inc. 4 ;; 2010, 2011 Free Software Foundation, Inc.
5 5
6 ;; Author: Eric M. Ludlam <zappo@gnu.org> 6 ;; Author: Eric M. Ludlam <zappo@gnu.org>
7 ;; Version: 0.2 7 ;; Version: 0.2
8 ;; Keywords: OO, chart, graph 8 ;; Keywords: OO, chart, graph
9 9
60 ;; with all the bitmaps you want to use. 60 ;; with all the bitmaps you want to use.
61 61
62 (require 'eieio) 62 (require 'eieio)
63 63
64 ;;; Code: 64 ;;; Code:
65 (defvar chart-map (make-sparse-keymap) "Keymap used in chart mode.") 65 (defvar chart-mode-map (make-sparse-keymap) "Keymap used in chart mode.")
66 (define-obsolete-variable-alias 'chart-map 'chart-mode-map "24.1")
66 67
67 (defvar chart-local-object nil 68 (defvar chart-local-object nil
68 "Local variable containing the locally displayed chart object.") 69 "Local variable containing the locally displayed chart object.")
69 (make-variable-buffer-local 'chart-local-object) 70 (make-variable-buffer-local 'chart-local-object)
70
71 (defvar chart-face-list nil
72 "Faces used to colorize charts.
73 List is limited currently, which is ok since you really can't display
74 too much in text characters anyways.")
75 71
76 (defvar chart-face-color-list '("red" "green" "blue" 72 (defvar chart-face-color-list '("red" "green" "blue"
77 "cyan" "yellow" "purple") 73 "cyan" "yellow" "purple")
78 "Colors to use when generating `chart-face-list'. 74 "Colors to use when generating `chart-face-list'.
79 Colors will be the background color.") 75 Colors will be the background color.")
88 (defcustom chart-face-use-pixmaps nil 84 (defcustom chart-face-use-pixmaps nil
89 "*Non-nil to use fancy pixmaps in the background of chart face colors." 85 "*Non-nil to use fancy pixmaps in the background of chart face colors."
90 :group 'eieio 86 :group 'eieio
91 :type 'boolean) 87 :type 'boolean)
92 88
93 (if (and (if (fboundp 'display-color-p) 89 (defvar chart-face-list
94 (display-color-p) 90 (if (if (fboundp 'display-color-p)
95 window-system) 91 (display-color-p)
96 (not chart-face-list)) 92 window-system)
97 (let ((cl chart-face-color-list) 93 (let ((cl chart-face-color-list)
98 (pl chart-face-pixmap-list) 94 (pl chart-face-pixmap-list)
99 nf) 95 (faces ())
100 (while cl 96 nf)
101 (setq nf (make-face (intern (concat "chart-" (car cl) "-" (car pl))))) 97 (while cl
102 (if (condition-case nil 98 (setq nf (make-face
103 (> (x-display-color-cells) 4) 99 (intern (concat "chart-" (car cl) "-" (car pl)))))
104 (error t)) 100 (set-face-background nf (if (condition-case nil
105 (set-face-background nf (car cl)) 101 (> (x-display-color-cells) 4)
106 (set-face-background nf "white")) 102 (error t))
107 (set-face-foreground nf "black") 103 (car cl)
108 (if (and chart-face-use-pixmaps 104 "white"))
109 pl 105 (set-face-foreground nf "black")
110 (fboundp 'set-face-background-pixmap)) 106 (if (and chart-face-use-pixmaps
111 (condition-case nil 107 pl
112 (set-face-background-pixmap nf (car pl)) 108 (fboundp 'set-face-background-pixmap))
113 (error (message "Cannot set background pixmap %s" (car pl))))) 109 (condition-case nil
114 (setq chart-face-list (cons nf chart-face-list)) 110 (set-face-background-pixmap nf (car pl))
115 (setq cl (cdr cl) 111 (error (message "Cannot set background pixmap %s" (car pl)))))
116 pl (cdr pl))))) 112 (push nf faces)
117 113 (setq cl (cdr cl)
118 (defun chart-mode () 114 pl (cdr pl)))
115 faces))
116 "Faces used to colorize charts.
117 List is limited currently, which is ok since you really can't display
118 too much in text characters anyways.")
119
120 (define-derived-mode chart-mode fundamental-mode "CHART"
119 "Define a mode in Emacs for displaying a chart." 121 "Define a mode in Emacs for displaying a chart."
120 (kill-all-local-variables)
121 (use-local-map chart-map)
122 (setq major-mode 'chart-mode
123 mode-name "CHART")
124 (buffer-disable-undo) 122 (buffer-disable-undo)
125 (set (make-local-variable 'font-lock-global-modes) nil) 123 (set (make-local-variable 'font-lock-global-modes) nil)
126 (font-lock-mode -1) 124 (font-lock-mode -1) ;Isn't it off already? --Stef
127 (run-hooks 'chart-mode-hook)
128 ) 125 )
129 126
130 (defun chart-new-buffer (obj) 127 (defun chart-new-buffer (obj)
131 "Create a new buffer NAME in which the chart OBJ is displayed. 128 "Create a new buffer NAME in which the chart OBJ is displayed.
132 Returns the newly created buffer." 129 Returns the newly created buffer."