Mercurial > emacs
annotate lisp/cedet/srecode/srt.el @ 112453:06719a229a46 default tip
* calc/calc.el (calc-default-power-reference-level)
(calc-default-field-reference-level): New variables.
* calc/calc-units.el (math-standard-units): Add dB and Np.
(math-logunits): New variable.
(math-extract-logunits, math-logcombine, calcFunc-luplus)
(calcFunc-luminus, calc-luplus, calc-luminus, math-logunit-level)
(calcFunc-fieldlevel, calcFunc-powerlevel, calc-level): New
functions.
(math-find-base-units-rec): Add entry for ln(10).
* calc/calc-help.el (calc-u-prefix-help): Add logarithmic help.
(calc-ul-prefix-help): New function.
* calc/calc-ext.el (calc-init-extensions): Autoload new units
functions. Add keybindings for new units functions.
author | Jay Belanger <jay.p.belanger@gmail.com> |
---|---|
date | Sun, 23 Jan 2011 23:08:04 -0600 |
parents | ef719132ddfa |
children |
rev | line source |
---|---|
104498 | 1 ;;; srecode/srt.el --- argument handlers for SRT files |
2 | |
112218
376148b31b5e
Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents:
106815
diff
changeset
|
3 ;; Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
104498 | 4 |
5 ;; Author: Eric M. Ludlam <eric@siege-engine.com> | |
6 | |
7 ;; This file is part of GNU Emacs. | |
8 | |
9 ;; GNU Emacs is free software: you can redistribute it and/or modify | |
10 ;; it under the terms of the GNU General Public License as published by | |
11 ;; the Free Software Foundation, either version 3 of the License, or | |
12 ;; (at your option) any later version. | |
13 | |
14 ;; GNU Emacs is distributed in the hope that it will be useful, | |
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 ;; GNU General Public License for more details. | |
18 | |
19 ;; You should have received a copy of the GNU General Public License | |
20 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | |
21 | |
22 ;;; Commentary: | |
23 ;; | |
24 ;; Filters for SRT files, the Semantic Recoder template files. | |
25 | |
26 ;;; Code: | |
27 | |
105652
51bc239bdc37
* cedet/srecode/srt.el:
Chong Yidong <cyd@stupidchicken.com>
parents:
105377
diff
changeset
|
28 (eval-when-compile (require 'cl)) |
104498 | 29 (require 'eieio) |
30 (require 'srecode/dictionary) | |
31 (require 'srecode/insert) | |
32 | |
33 (defvar srecode-read-variable-name-history nil | |
34 "History for `srecode-read-variable-name'.") | |
35 | |
36 (defun srecode-read-variable-name (prompt &optional initial hist default) | |
105328 | 37 "Read in the name of a declared variable in the current SRT file. |
104498 | 38 PROMPT is the prompt to use. |
39 INITIAL is the initial string. | |
40 HIST is the history value, otherwise `srecode-read-variable-name-history' | |
41 is used. | |
42 DEFAULT is the default if RET is hit." | |
43 (let* ((newdict (srecode-create-dictionary)) | |
44 (currfcn (semantic-current-tag)) | |
45 ) | |
46 (srecode-resolve-argument-list | |
47 (mapcar 'read | |
48 (semantic-tag-get-attribute currfcn :arguments)) | |
49 newdict) | |
50 | |
51 (with-slots (namehash) newdict | |
52 (completing-read prompt namehash nil nil initial | |
53 (or hist 'srecode-read-variable-name-history) | |
54 default)) | |
55 )) | |
56 | |
57 (defvar srecode-read-major-mode-history nil | |
58 "History for `srecode-read-variable-name'.") | |
59 | |
60 (defun srecode-read-major-mode-name (prompt &optional initial hist default) | |
61 "Read in the name of a desired `major-mode'. | |
62 PROMPT is the prompt to use. | |
63 INITIAL is the initial string. | |
64 HIST is the history value, otherwise `srecode-read-variable-name-history' | |
65 is used. | |
66 DEFAULT is the default if RET is hit." | |
67 (completing-read prompt obarray | |
68 (lambda (s) (string-match "-mode$" (symbol-name s))) | |
69 nil initial (or hist 'srecode-read-major-mode-history)) | |
70 ) | |
71 | |
72 (defun srecode-semantic-handle-:srt (dict) | |
73 "Add macros into the dictionary DICT based on the current SRT file. | |
74 Adds the following: | |
75 ESCAPE_START - This files value of escape_start | |
76 ESCAPE_END - This files value of escape_end | |
77 MODE - The mode of this buffer. If not declared yet, guess." | |
78 (let* ((es (semantic-find-first-tag-by-name "escape_start" (current-buffer))) | |
79 (ee (semantic-find-first-tag-by-name "escape_end" (current-buffer))) | |
80 (mode-var (semantic-find-first-tag-by-name "mode" (current-buffer))) | |
81 (mode (if mode-var | |
82 (semantic-tag-variable-default mode-var) | |
83 nil)) | |
84 ) | |
85 (srecode-dictionary-set-value dict "ESCAPE_START" | |
86 (if es | |
87 (car (semantic-tag-variable-default es)) | |
88 "{{")) | |
89 (srecode-dictionary-set-value dict "ESCAPE_END" | |
90 (if ee | |
91 (car (semantic-tag-variable-default ee)) | |
92 "}}")) | |
93 (when (not mode) | |
94 (let* ((fname (file-name-nondirectory | |
95 (buffer-file-name (current-buffer)))) | |
96 ) | |
97 (when (string-match "-\\(\\w+\\)\\.srt" fname) | |
98 (setq mode (concat (match-string 1 fname) "-mode"))))) | |
99 | |
100 (when mode | |
101 (srecode-dictionary-set-value dict "MAJORMODE" mode)) | |
102 | |
103 )) | |
104 | |
105 (provide 'srecode/srt) | |
106 | |
107 ;;; srecode/srt.el ends here |