root/lang/elisp/pdicv-mode/trunk/nt-macros.el @ 67

Revision 67, 1.7 kB (checked in by naoya_t, 16 years ago)
RevLine 
[67]1;;; nt-macros.el --- useful (at least for NT) macros
2;;
3;; Copyright (C) 2005 Naoya TOZUKA. All Rights Reserved.
4;;
5;; Author: Naoya TOZUKA <pdicviewer@gmail.com>
6;; Maintainer: Naoya TOZUKA <pdicviewer@gmail.com>
7;; Primary distribution site: http://pdicviewer.naochan.com/el/
8;;
9;; Created: 16 Feb 2005 (formerly nt-utils.el)
10;; Last modified: 15 Dec 2005
11;; Version: 1.0
12;; Keywords: ++ -- ->
13
14(provide 'nt-macros)
15
16;;; Commentary:
17
18; (++ VAR)
19;   - ���R ��ͤ���
20;     (setq VAR (1+ VAR)) ï¿½Î¥Þ¥ï¿½ï¿½í¡£
21
22; (-- VAR)
23;   - ���R ��ͤ򣱸��餹��
24;     (setq VAR (1- VAR)) ï¿½Î¥Þ¥ï¿½ï¿½í¡£
25
26; (string< S1 S2)
27; (string> S1 S2)
28; (string<= S1 S2)
29; (string>= S1 S2)
30;   - (string< S1 S2) ����ؿ��
31
32
33;;; Code:
34(defmacro ++ (var)
35  "increment the specified variable"
36  `(setq ,var (1+ ,var)))
37
38(defmacro -- (var)
39  "decrement the specified variable"
40  `(setq ,var (1- ,var)))
41
42(defmacro += (var num)
43  `(setq ,var (+ ,var ,num)))
44
45(defmacro -= (var num)
46  `(setq ,var (- ,var ,num)))
47
48(defmacro *= (var num)
49  `(setq ,var (* ,var ,num)))
50
51;(defmacro /= (var num)
52;  `(setq ,var (/ ,var ,num)))
53
54(defmacro != (a b)
55  "/="
56  `(not (= ,a ,b)))
57
58(defmacro <<= (var num)
59  `(setq ,var (lsh ,var ,num)))
60
61(defmacro >>= (var num)
62  `(setq ,var (lsh ,var (- ,num))))
63
64(defmacro cdr= (list-var)
65  `(setq ,list-var (cdr ,list-var)))
66
67(defmacro concat= (str-var str)
68  `(setq ,str-var (concat ,str-var ,str)))
69
70;;
71(defmacro -> (array key)
72  ""
73  `(cdr (assoc ,key ,array)))
74
75;;
76(defmacro string> (s1 s2)
77  "string>"
78  `(string< ,s2 ,s1))
79
80(defmacro string<= (s1 s2)
81  "string<="
82  `(not (string< ,s2 ,s1)))
83
84(defmacro string>= (s1 s2)
85  "string>="
86  `(not (string< ,s1 ,s2)))
87
88;;; nt-macros.el ends here
Note: See TracBrowser for help on using the browser.