Use new style backquotes. apel-wl
authordmaus <dmaus>
Sun, 17 Jul 2011 07:01:18 +0000 (07:01 +0000)
committerdmaus <dmaus>
Sun, 17 Jul 2011 07:01:18 +0000 (07:01 +0000)
* tinycustom.el (defcustom): Use new style backquotes.
* static.el (static-if, static-when, static-unless)
(static-condition-case, static-defconst): Dto.
* pym.el (defun-maybe, defmacro-maybe, defsubst-maybe)
(defalias-maybe, defvar-maybe, defconst-maybe, defun-maybe-cond)
(defmacro-maybe-cond, defsubst-maybe-cond, def-edebug-spec): Dto.
* product.el (product-provide): Dto.
* poem-om.el (char-next-index): Dto.
* poem-nemacs.el (char-next-index): Dto.
* poem-ltn1.el (char-next-index): Dto.
* poe.el (save-current-buffer, with-current-buffer)
(with-temp-file, with-temp-message, with-temp-buffer)
(with-output-to-string): Dto.
* poe-18.el (save-match-data): Dto.
* pces-raw.el (as-binary-process, as-binary-input-file)
(as-binary-output-file): Dto
* pces-om.el (as-binary-process, as-binary-input-file)
(as-binary-output-file): Dto.
* pces-nemacs.el (as-binary-process, as-binary-input-file)
(as-binary-output-file): Dto.
* pccl.el (define-ccl-program): Dto.
* filename.el (filename-special-filter-1): Dto.
* broken.el (broken-facility, if-broken, when-broken)
(unless-broken, check-broken-facility): Dto.

[Patch created by HAMANO Kiyoto <khiker.mail@gmail.com>]

This breaks compatibility with Emacs18.

16 files changed:
ChangeLog
broken.el
filename.el
pccl.el
pces-nemacs.el
pces-om.el
pces-raw.el
poe-18.el
poe.el
poem-ltn1.el
poem-nemacs.el
poem-om.el
product.el
pym.el
static.el
tinycustom.el

index 9ead1a8..e77100f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2011-07-17  David Maus  <dmaus@ictsoc.de>
+
+       * tinycustom.el (defcustom): Use new style backquotes.
+       * static.el (static-if, static-when, static-unless)
+       (static-condition-case, static-defconst): Dto.
+       * pym.el (defun-maybe, defmacro-maybe, defsubst-maybe)
+       (defalias-maybe, defvar-maybe, defconst-maybe, defun-maybe-cond)
+       (defmacro-maybe-cond, defsubst-maybe-cond, def-edebug-spec): Dto.
+       * product.el (product-provide): Dto.
+       * poem-om.el (char-next-index): Dto.
+       * poem-nemacs.el (char-next-index): Dto.
+       * poem-ltn1.el (char-next-index): Dto.
+       * poe.el (save-current-buffer, with-current-buffer)
+       (with-temp-file, with-temp-message, with-temp-buffer)
+       (with-output-to-string): Dto.
+       * poe-18.el (save-match-data): Dto.
+       * pces-raw.el (as-binary-process, as-binary-input-file)
+       (as-binary-output-file): Dto
+       * pces-om.el (as-binary-process, as-binary-input-file)
+       (as-binary-output-file): Dto.
+       * pces-nemacs.el (as-binary-process, as-binary-input-file)
+       (as-binary-output-file): Dto.
+       * pccl.el (define-ccl-program): Dto.
+       * filename.el (filename-special-filter-1): Dto.
+       * broken.el (broken-facility, if-broken, when-broken)
+       (unless-broken, check-broken-facility): Dto.
+
+       [Patch created by HAMANO Kiyoto <khiker.mail@gmail.com>]
+
 2010-06-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * APEL: Version 10.8 released.
 2010-06-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * APEL: Version 10.8 released.
index 81d1ec6..c2eda6f 100644 (file)
--- a/broken.el
+++ b/broken.el
@@ -58,51 +58,51 @@ FACILITY must be symbol.
 
 If ASSERTION is not omitted and evaluated to nil and NO-NOTICE is nil,
 it is noticed."
 
 If ASSERTION is not omitted and evaluated to nil and NO-NOTICE is nil,
 it is noticed."
-  (` (static-if (, assertion)
-        (eval-and-compile
-          (broken-facility-internal '(, facility) (, docstring) t))
-       (eval-when-compile
-        (when (and '(, assertion) (not '(, no-notice))
-                   notice-non-obvious-broken-facility)
-          (message "BROKEN FACILITY DETECTED: %s" (, docstring)))
-        nil)
-       (eval-and-compile
-        (broken-facility-internal '(, facility) (, docstring) nil)))))
+  `(static-if ,assertion
+             (eval-and-compile
+               (broken-facility-internal ',facility ,docstring t))
+             (eval-when-compile
+               (when (and ',assertion (not ',no-notice)
+                          notice-non-obvious-broken-facility)
+                 (message "BROKEN FACILITY DETECTED: %s" ,docstring))
+               nil)
+             (eval-and-compile
+               (broken-facility-internal ',facility ,docstring nil))))
 
 (put 'if-broken 'lisp-indent-function 2)
 (defmacro if-broken (facility then &rest else)
   "If FACILITY is broken, expand to THEN, otherwise (progn . ELSE)."
 
 (put 'if-broken 'lisp-indent-function 2)
 (defmacro if-broken (facility then &rest else)
   "If FACILITY is broken, expand to THEN, otherwise (progn . ELSE)."
-  (` (static-if (broken-p '(, facility))
-        (, then)
-       (,@ else))))
+  `(static-if (broken-p ',facility)
+             ,then
+             ,@else))
 
 
 (put 'when-broken 'lisp-indent-function 1)
 (defmacro when-broken (facility &rest body)
   "If FACILITY is broken, expand to (progn . BODY), otherwise nil."
 
 
 (put 'when-broken 'lisp-indent-function 1)
 (defmacro when-broken (facility &rest body)
   "If FACILITY is broken, expand to (progn . BODY), otherwise nil."
-  (` (static-when (broken-p '(, facility))
-       (,@ body))))
+  `(static-when (broken-p ',facility)
+               ,@body))
 
 (put 'unless-broken 'lisp-indent-function 1)
 (defmacro unless-broken (facility &rest body)
   "If FACILITY is not broken, expand to (progn . BODY), otherwise nil."
 
 (put 'unless-broken 'lisp-indent-function 1)
 (defmacro unless-broken (facility &rest body)
   "If FACILITY is not broken, expand to (progn . BODY), otherwise nil."
-  (` (static-unless (broken-p '(, facility))
-       (,@ body))))
+  `(static-unless (broken-p ',facility)
+                 ,@ body))
 
 (defmacro check-broken-facility (facility)
   "Check FACILITY is broken or not. If the status is different on
 compile(macro expansion) time and run time, warn it."
 
 (defmacro check-broken-facility (facility)
   "Check FACILITY is broken or not. If the status is different on
 compile(macro expansion) time and run time, warn it."
-  (` (if-broken (, facility)
-        (unless (broken-p '(, facility))
-          (message "COMPILE TIME ONLY BROKEN FACILITY DETECTED: %s" 
-                   (or
-                    '(, (broken-facility-description facility))
-                    (broken-facility-description '(, facility)))))
-       (when (broken-p '(, facility))
-        (message "RUN TIME ONLY BROKEN FACILITY DETECTED: %s" 
-                 (or
-                  (broken-facility-description '(, facility))
-                  '(, (broken-facility-description facility))))))))
+  `(if-broken ,facility
+             (unless (broken-p ',facility)
+               (message "COMPILE TIME ONLY BROKEN FACILITY DETECTED: %s" 
+                        (or
+                         ',(broken-facility-description facility)
+                         (broken-facility-description ',facility))))
+             (when (broken-p ',facility)
+               (message "RUN TIME ONLY BROKEN FACILITY DETECTED: %s" 
+                        (or
+                         (broken-facility-description ',facility)
+                         ', (broken-facility-description facility))))))
 
 
 ;;; @ end
 
 
 ;;; @ end
index 6aa4edd..c5af551 100644 (file)
@@ -102,26 +102,26 @@ Moreover, if you want to convert Japanese filename to roman string by kakasi,
                inc-i '(1+ i))
        (setq sref 'aref
              inc-i '(+ i (char-length chr))))
                inc-i '(1+ i))
        (setq sref 'aref
              inc-i '(+ i (char-length chr))))
-      (` (let ((len (length (, string)))
-              (b 0)(i 0)
-              (dest ""))
-          (while (< i len)
-            (let ((chr ((, sref) (, string) i))
-                  (lst filename-replacement-alist)
-                  ret)
-              (while (and lst (not ret))
-                (if (if (functionp (car (car lst)))
-                        (setq ret (funcall (car (car lst)) chr))
-                      (setq ret (memq chr (car (car lst)))))
-                    t                  ; quit this loop.
-                  (setq lst (cdr lst))))
-              (if ret
-                  (setq dest (concat dest (substring (, string) b i)
-                                     (cdr (car lst)))
-                        i (, inc-i)
-                        b i)
-                (setq i (, inc-i)))))
-          (concat dest (substring (, string) b)))))))
+      `(let ((len (length ,string))
+            (b 0)(i 0)
+            (dest ""))
+        (while (< i len)
+          (let ((chr (,sref ,string i))
+                (lst filename-replacement-alist)
+                ret)
+            (while (and lst (not ret))
+              (if (if (functionp (car (car lst)))
+                      (setq ret (funcall (car (car lst)) chr))
+                    (setq ret (memq chr (car (car lst)))))
+                  t                    ; quit this loop.
+                (setq lst (cdr lst))))
+            (if ret
+                (setq dest (concat dest (substring ,string b i)
+                                   (cdr (car lst)))
+                      i ,inc-i
+                      b i)
+              (setq i ,inc-i))))
+        (concat dest (substring ,string b))))))
 
 (defun filename-special-filter (string)
   (filename-special-filter-1 string))
 
 (defun filename-special-filter (string)
   (filename-special-filter-1 string))
diff --git a/pccl.el b/pccl.el
index 088d5c9..c719a3c 100644 (file)
--- a/pccl.el
+++ b/pccl.el
@@ -55,7 +55,7 @@
       "When CCL-PROGRAM is too long, internal buffer is extended automatically."
       (let ((try-ccl-compile t)
            (prog (eval (ad-get-arg 1))))
       "When CCL-PROGRAM is too long, internal buffer is extended automatically."
       (let ((try-ccl-compile t)
            (prog (eval (ad-get-arg 1))))
-       (ad-set-arg 1 (` '(, prog)))
+       (ad-set-arg 1 `',prog)
        (while try-ccl-compile
          (setq try-ccl-compile nil)
          (condition-case sig
        (while try-ccl-compile
          (setq try-ccl-compile nil)
          (condition-case sig
@@ -86,12 +86,12 @@ Value is a list of transformed arguments."
            (setq properties (plist-put properties 'pre-write-conversion tmp)))
        (cond
         ((eq type 'shift-jis)
            (setq properties (plist-put properties 'pre-write-conversion tmp)))
        (cond
         ((eq type 'shift-jis)
-         (` ((, name) 1 (, mnemonic) (, doc-string)
-             nil (, properties) (, eol-type))))
+         `(,name 1 ,mnemonic ,doc-string
+                 nil ,properties ,eol-type))
         ((eq type 'iso2022) ; This is not perfect.
          (if (plist-get props 'escape-quoted)
              (error "escape-quoted is not supported: %S"
         ((eq type 'iso2022) ; This is not perfect.
          (if (plist-get props 'escape-quoted)
              (error "escape-quoted is not supported: %S"
-                    (` ((, name) (, type) (, doc-string) (, props)))))
+                    `(,name ,type ,doc-string ,props)))
          (let ((g0 (plist-get props 'charset-g0))
                (g1 (plist-get props 'charset-g1))
                (g2 (plist-get props 'charset-g2))
          (let ((g0 (plist-get props 'charset-g0))
                (g1 (plist-get props 'charset-g1))
                (g2 (plist-get props 'charset-g2))
@@ -114,43 +114,43 @@ Value is a list of transformed arguments."
                      'japanese-jisx0208-1978))))
            (if (charsetp g0)
                (if (plist-get props 'force-g0-on-output)
                      'japanese-jisx0208-1978))))
            (if (charsetp g0)
                (if (plist-get props 'force-g0-on-output)
-                   (setq g0 (` (nil (, g0))))
-                 (setq g0 (` ((, g0) t)))))
+                   (setq g0 `(nil ,g0))
+                 (setq g0 `(,g0 t))))
            (if (charsetp g1)
                (if (plist-get props 'force-g1-on-output)
            (if (charsetp g1)
                (if (plist-get props 'force-g1-on-output)
-                   (setq g1 (` (nil (, g1))))
-                 (setq g1 (` ((, g1) t)))))
+                   (setq g1 `(nil ,g1))
+                 (setq g1 `(,g1 t))))
            (if (charsetp g2)
                (if (plist-get props 'force-g2-on-output)
            (if (charsetp g2)
                (if (plist-get props 'force-g2-on-output)
-                   (setq g2 (` (nil (, g2))))
-                 (setq g2 (` ((, g2) t)))))
+                   (setq g2 `(nil ,g2))
+                 (setq g2 `(,g2 t))))
            (if (charsetp g3)
                (if (plist-get props 'force-g3-on-output)
            (if (charsetp g3)
                (if (plist-get props 'force-g3-on-output)
-                   (setq g3 (` (nil (, g3))))
-                 (setq g3 (` ((, g3) t)))))
-           (` ((, name) 2 (, mnemonic) (, doc-string)
-               ((, g0) (, g1) (, g2) (, g3)
-                (, (plist-get props 'short))
-                (, (not (plist-get props 'no-ascii-eol)))
-                (, (not (plist-get props 'no-ascii-cntl)))
-                (, (plist-get props 'seven))
-                t
-                (, (not (plist-get props 'lock-shift)))
-                (, use-roman)
-                (, use-oldjis)
-                (, (plist-get props 'no-iso6429))
-                nil nil nil nil)
-               (, properties) (, eol-type)))))
-        ((eq type 'big5)
-         (` ((, name) 3 (, mnemonic) (, doc-string)
-             nil (, properties) (, eol-type))))
+                   (setq g3 `(nil ,g3))
+                 (setq g3 `(,g3 t))))
+           `(,name 2 ,mnemonic ,doc-string
+                   (,g0 ,g1 ,g2 ,g3
+                        ,(plist-get props 'short)
+                        ,(not (plist-get props 'no-ascii-eol))
+                        ,(not (plist-get props 'no-ascii-cntl))
+                        ,(plist-get props 'seven)
+                        t
+                        ,(not (plist-get props 'lock-shift))
+                        ,use-roman
+                        ,use-oldjis
+                        ,(plist-get props 'no-iso6429)
+                        nil nil nil nil)
+                   ,properties ,eol-type)))
+         ((eq type 'big5)
+          `(,name 3 ,mnemonic ,doc-string
+                  nil ,properties ,eol-type))
         ((eq type 'ccl)
         ((eq type 'ccl)
-         (` ((, name) 4 (, mnemonic) (, doc-string)
-             ((, (plist-get props 'decode)) . (, (plist-get props 'encode)))
-             (, properties) (, eol-type))))
+         `(,name 4 ,mnemonic ,doc-string
+                 (,(plist-get props 'decode) . ,(plist-get props 'encode))
+                 ,properties ,eol-type))
         (t
          (error "unsupported XEmacs style make-coding-style arguments: %S"
         (t
          (error "unsupported XEmacs style make-coding-style arguments: %S"
-                (` ((, name) (, type) (, doc-string) (, props))))))))
+                `(,name ,type ,doc-string ,props))))))
     (defadvice make-coding-system
       (before ccl-compat (name type &rest ad-subr-args) activate)
       "Emulate XEmacs style make-coding-system."
     (defadvice make-coding-system
       (before ccl-compat (name type &rest ad-subr-args) activate)
       "Emulate XEmacs style make-coding-system."
index e2479e9..dc86a42 100644 (file)
 ;;;
 
 (defmacro as-binary-process (&rest body)
 ;;;
 
 (defmacro as-binary-process (&rest body)
-  (` (let (selective-display   ; Disable ^M to nl translation.
-          ;; Nemacs
-          kanji-flag
-          (default-kanji-process-code 0)
-          program-kanji-code-alist)
-       (,@ body))))
+  `(let (selective-display     ; Disable ^M to nl translation.
+        ;; Nemacs
+        kanji-flag
+        (default-kanji-process-code 0)
+        program-kanji-code-alist)
+     ,@ body))
 
 (defmacro as-binary-input-file (&rest body)
 
 (defmacro as-binary-input-file (&rest body)
-  (` (let (kanji-flag default-kanji-flag)
-       (,@ body))))
+  `(let (kanji-flag default-kanji-flag)
+     ,@ body))
 
 (defmacro as-binary-output-file (&rest body)
 
 (defmacro as-binary-output-file (&rest body)
-  (` (let (kanji-flag)
-       (,@ body))))
+  `(let (kanji-flag)
+     ,@ body))
 
 (defun write-region-as-binary (start end filename
                                     &optional append visit lockname)
 
 (defun write-region-as-binary (start end filename
                                     &optional append visit lockname)
index 54d4584..678feb1 100644 (file)
@@ -227,24 +227,24 @@ applied to `coding-system-for-write'."
 (make-coding-system 'binary nil ?= "No conversion")
 
 (defmacro as-binary-process (&rest body)
 (make-coding-system 'binary nil ?= "No conversion")
 
 (defmacro as-binary-process (&rest body)
-  (` (let (selective-display   ; Disable ^M to nl translation.
-          ;; Mule
-          mc-flag
-          (default-process-coding-system (cons *noconv* *noconv*))
-          program-coding-system-alist)
-       (,@ body))))
+  `(let (selective-display     ; Disable ^M to nl translation.
+        ;; Mule
+        mc-flag
+        (default-process-coding-system (cons *noconv* *noconv*))
+        program-coding-system-alist)
+     ,@ body))
 
 (defmacro as-binary-input-file (&rest body)
 
 (defmacro as-binary-input-file (&rest body)
-  (` (let (mc-flag
-          (file-coding-system-for-read *noconv*)
-          )
-       (,@ body))))
+  `(let (mc-flag
+        (file-coding-system-for-read *noconv*)
+        )
+     ,@ body))
 
 (defmacro as-binary-output-file (&rest body)
 
 (defmacro as-binary-output-file (&rest body)
-  (` (let (mc-flag
-          (file-coding-system *noconv*)
-          )
-       (,@ body))))
+  `(let (mc-flag
+        (file-coding-system *noconv*)
+        )
+     ,@ body))
 
 (defalias 'set-process-input-coding-system 'set-process-coding-system)
 
 
 (defalias 'set-process-input-coding-system 'set-process-coding-system)
 
index 1a4bca8..9d500ca 100644 (file)
 ;;;
 
 (defmacro as-binary-process (&rest body)
 ;;;
 
 (defmacro as-binary-process (&rest body)
-  (` (let (selective-display)  ; Disable ^M to nl translation.
-       (,@ body))))
+  `(let (selective-display)    ; Disable ^M to nl translation.
+     ,@ body))
 
 (defmacro as-binary-input-file (&rest body)
 
 (defmacro as-binary-input-file (&rest body)
-  (` (let ((emx-binary-mode t)) ; Stop CRLF to LF conversion in OS/2
-       (,@ body))))
+  `(let ((emx-binary-mode t)) ; Stop CRLF to LF conversion in OS/2
+     ,@ body))
 
 (defmacro as-binary-output-file (&rest body)
 
 (defmacro as-binary-output-file (&rest body)
-  (` (let ((emx-binary-mode t)) ; Stop CRLF to LF conversion in OS/2
-       (,@ body))))
+  `(let ((emx-binary-mode t)) ; Stop CRLF to LF conversion in OS/2
+     ,@ body))
 
 (defun write-region-as-binary (start end filename
                                     &optional append visit lockname)
 
 (defun write-region-as-binary (start end filename
                                     &optional append visit lockname)
index 0dffa0e..883fbf2 100644 (file)
--- a/poe-18.el
+++ b/poe-18.el
@@ -492,9 +492,9 @@ With optional non-nil ALL, force redisplay of all mode-lines."
 ;; that works ok in practice (people should not use that variable elsewhere).
 (defmacro save-match-data (&rest body)
   "Execute the BODY forms, restoring the global value of the match data."
 ;; that works ok in practice (people should not use that variable elsewhere).
 (defmacro save-match-data (&rest body)
   "Execute the BODY forms, restoring the global value of the match data."
-  (` (let ((save-match-data-internal (match-data)))
-       (unwind-protect (progn (,@ body))
-         (set-match-data save-match-data-internal)))))
+  `(let ((save-match-data-internal (match-data)))
+     (unwind-protect (progn ,@ body)
+       (set-match-data save-match-data-internal))))
 
 
 ;;; @ Basic editing commands.
 
 
 ;;; @ Basic editing commands.
diff --git a/poe.el b/poe.el
index 0c7b4ff..f7e7689 100644 (file)
--- a/poe.el
+++ b/poe.el
@@ -916,20 +916,20 @@ APEL provides this as dummy for compatibility.")
 (defmacro-maybe save-current-buffer (&rest body)
   "Save the current buffer; execute BODY; restore the current buffer.
 Executes BODY just like `progn'."
 (defmacro-maybe save-current-buffer (&rest body)
   "Save the current buffer; execute BODY; restore the current buffer.
 Executes BODY just like `progn'."
-  (` (let ((orig-buffer (current-buffer)))
-       (unwind-protect
-          (progn (,@ body))
-        (if (buffer-live-p orig-buffer)
-            (set-buffer orig-buffer))))))
+  `(let ((orig-buffer (current-buffer)))
+     (unwind-protect
+         (progn ,@ body)
+       (if (buffer-live-p orig-buffer)
+           (set-buffer orig-buffer)))))
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-current-buffer BUFFER &rest BODY)
 (defmacro-maybe with-current-buffer (buffer &rest body)
   "Execute the forms in BODY with BUFFER as the current buffer.
 The value returned is the value of the last form in BODY.
 See also `with-temp-buffer'."
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-current-buffer BUFFER &rest BODY)
 (defmacro-maybe with-current-buffer (buffer &rest body)
   "Execute the forms in BODY with BUFFER as the current buffer.
 The value returned is the value of the last form in BODY.
 See also `with-temp-buffer'."
-  (` (save-current-buffer
-       (set-buffer (, buffer))
-       (,@ body))))
+  `(save-current-buffer
+     (set-buffer ,buffer)
+     ,@ body))
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-temp-file FILE &rest FORMS)
 (defmacro-maybe with-temp-file (file &rest forms)
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-temp-file FILE &rest FORMS)
 (defmacro-maybe with-temp-file (file &rest forms)
@@ -938,18 +938,18 @@ The value of the last form in FORMS is returned, like `progn'.
 See also `with-temp-buffer'."
   (let ((temp-file (make-symbol "temp-file"))
        (temp-buffer (make-symbol "temp-buffer")))
 See also `with-temp-buffer'."
   (let ((temp-file (make-symbol "temp-file"))
        (temp-buffer (make-symbol "temp-buffer")))
-    (` (let (((, temp-file) (, file))
-            ((, temp-buffer)
-             (get-buffer-create (generate-new-buffer-name " *temp file*"))))
-        (unwind-protect
-            (prog1
-                (with-current-buffer (, temp-buffer)
-                  (,@ forms))
-              (with-current-buffer (, temp-buffer)
-                (widen)
-                (write-region (point-min) (point-max) (, temp-file) nil 0)))
-          (and (buffer-name (, temp-buffer))
-               (kill-buffer (, temp-buffer))))))))
+    `(let ((,temp-file ,file)
+           (,temp-buffer
+            (get-buffer-create (generate-new-buffer-name " *temp file*"))))
+       (unwind-protect
+           (prog1
+               (with-current-buffer ,temp-buffer
+                 ,@forms)
+             (with-current-buffer ,temp-buffer
+               (widen)
+               (write-region (point-min) (point-max) ,temp-file nil 0)))
+         (and (buffer-name ,temp-buffer)
+              (kill-buffer ,temp-buffer))))))
 
 ;; Emacs 20.4 and later: (with-temp-message MESSAGE &rest BODY)
 ;; This macro uses `current-message', which appears in v20.
 
 ;; Emacs 20.4 and later: (with-temp-message MESSAGE &rest BODY)
 ;; This macro uses `current-message', which appears in v20.
@@ -965,41 +965,41 @@ If MESSAGE is nil, the echo area and message log buffer are unchanged.
 Use a MESSAGE of \"\" to temporarily clear the echo area."
     (let ((current-message (make-symbol "current-message"))
          (temp-message (make-symbol "with-temp-message")))
 Use a MESSAGE of \"\" to temporarily clear the echo area."
     (let ((current-message (make-symbol "current-message"))
          (temp-message (make-symbol "with-temp-message")))
-      (` (let (((, temp-message) (, message))
-              ((, current-message)))
-          (unwind-protect
-              (progn
-                (when (, temp-message)
-                  (setq (, current-message) (current-message))
-                  (message "%s" (, temp-message))
-                  (,@ body))
-                (and (, temp-message) (, current-message)
-                     (message "%s" (, current-message))))))))))
+      `(let ((,temp-message ,message)
+             (,current-message))
+         (unwind-protect
+             (progn
+               (when ,temp-message
+                 (setq ,current-message (current-message))
+                 (message "%s" ,temp-message)
+                 ,@ body)
+               (and ,temp-message ,current-message
+                    (message "%s" ,current-message))))))))
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-temp-buffer &rest FORMS)
 (defmacro-maybe with-temp-buffer (&rest forms)
   "Create a temporary buffer, and evaluate FORMS there like `progn'.
 See also `with-temp-file' and `with-output-to-string'."
   (let ((temp-buffer (make-symbol "temp-buffer")))
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-temp-buffer &rest FORMS)
 (defmacro-maybe with-temp-buffer (&rest forms)
   "Create a temporary buffer, and evaluate FORMS there like `progn'.
 See also `with-temp-file' and `with-output-to-string'."
   (let ((temp-buffer (make-symbol "temp-buffer")))
-    (` (let (((, temp-buffer)
-             (get-buffer-create (generate-new-buffer-name " *temp*"))))
-        (unwind-protect
-            (with-current-buffer (, temp-buffer)
-              (,@ forms))
-          (and (buffer-name (, temp-buffer))
-               (kill-buffer (, temp-buffer))))))))
+    `(let ((,temp-buffer
+            (get-buffer-create (generate-new-buffer-name " *temp*"))))
+       (unwind-protect
+           (with-current-buffer ,temp-buffer
+             ,@ forms)
+         (and (buffer-name ,temp-buffer)
+              (kill-buffer ,temp-buffer))))))
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-output-to-string &rest BODY)
 (defmacro-maybe with-output-to-string (&rest body)
   "Execute BODY, return the text it sent to `standard-output', as a string."
 
 ;; Emacs 20.1/XEmacs 20.3(?) and later: (with-output-to-string &rest BODY)
 (defmacro-maybe with-output-to-string (&rest body)
   "Execute BODY, return the text it sent to `standard-output', as a string."
-  (` (let ((standard-output
-           (get-buffer-create (generate-new-buffer-name " *string-output*"))))
-       (let ((standard-output standard-output))
-        (,@ body))
-       (with-current-buffer standard-output
-        (prog1
-            (buffer-string)
-          (kill-buffer nil))))))
+  `(let ((standard-output
+          (get-buffer-create (generate-new-buffer-name " *string-output*"))))
+     (let ((standard-output standard-output))
+       ,@ body)
+     (with-current-buffer standard-output
+       (prog1
+           (buffer-string)
+         (kill-buffer nil)))))
 
 ;; Emacs 20.1 and later: (combine-after-change-calls &rest BODY)
 (defmacro-maybe combine-after-change-calls (&rest body)
 
 ;; Emacs 20.1 and later: (combine-after-change-calls &rest BODY)
 (defmacro-maybe combine-after-change-calls (&rest body)
index d71329d..4dbb454 100644 (file)
@@ -110,7 +110,7 @@ but the contents viewed as characters do change.
 
 (defmacro char-next-index (char index)
   "Return index of character succeeding CHAR whose index is INDEX."
 
 (defmacro char-next-index (char index)
   "Return index of character succeeding CHAR whose index is INDEX."
-  (` (1+ (, index))))
+  `(1+ ,index))
 
 
 ;;; @ string
 
 
 ;;; @ string
index 8af6364..9f0eb86 100644 (file)
@@ -140,7 +140,7 @@ but the contents viewed as characters do change.
 (defmacro char-next-index (char index)
   "Return index of character succeeding CHAR whose index is INDEX.
 \[emu-nemacs.el]"
 (defmacro char-next-index (char index)
   "Return index of character succeeding CHAR whose index is INDEX.
 \[emu-nemacs.el]"
-  (` (+ (, index) (char-bytes (, char)))))
+  `(+ ,index (char-bytes ,char)))
 
 
 ;;; @ string
 
 
 ;;; @ string
index 3b762e7..65da52d 100644 (file)
@@ -102,7 +102,7 @@ but the contents viewed as characters do change.
 
 (defmacro char-next-index (char index)
   "Return index of character succeeding CHAR whose index is INDEX."
 
 (defmacro char-next-index (char index)
   "Return index of character succeeding CHAR whose index is INDEX."
-  (` (+ (, index) (char-bytes (, char)))))
+  `(+ ,index (char-bytes ,char)))
 
 
 ;;; @@ obsoleted aliases
 
 
 ;;; @@ obsoleted aliases
index b49d698..98376bb 100644 (file)
@@ -232,21 +232,21 @@ PRODUCT-DEF is a definition of the product."
         (product-version (product-version product))
         (product-code-name (product-code-name product))
         (product-version-string (product-version-string product)))
         (product-version (product-version product))
         (product-code-name (product-code-name product))
         (product-version-string (product-version-string product)))
-    (` (progn
-        (, product-def)
-        (put (, feature) 'product
-             (let ((product (product-find-by-name (, product-name))))
-               (product-run-checkers product '(, product-version))
-               (and (, product-family)
-                    (product-add-to-family (, product-family)
-                                           (, product-name)))
-               (product-add-feature product (, feature))
-               (if (equal '(, product-version) (product-version product))
-                   product
-                 (vector (, product-name) (, product-family)
-                         '(, product-version) (, product-code-name)
-                         nil nil nil (, product-version-string)))))
-        (, feature-def)))))
+    `(progn
+       ,product-def
+       (put ,feature 'product
+            (let ((product (product-find-by-name ,product-name)))
+              (product-run-checkers product ',product-version)
+              (and ,product-family
+                   (product-add-to-family ,product-family
+                                          ,product-name))
+              (product-add-feature product ,feature)
+              (if (equal ',product-version (product-version product))
+                  product
+                (vector ,product-name ,product-family
+                        ',product-version ,product-code-name
+                        nil nil nil ,product-version-string))))
+       ,feature-def)))
 
 (defun product-version-as-string (product)
   "Return version number of product as a string.
 
 (defun product-version-as-string (product)
   "Return version number of product as a string.
diff --git a/pym.el b/pym.el
index 46c85ef..ff789e8 100644 (file)
--- a/pym.el
+++ b/pym.el
   "Define NAME as a function if NAME is not defined.
 See also the function `defun'."
   (or (and (fboundp name)
   "Define NAME as a function if NAME is not defined.
 See also the function `defun'."
   (or (and (fboundp name)
-          (not (get name 'defun-maybe)))
-      (` (or (fboundp (quote (, name)))
-            (prog1
-                (defun (, name) (,@ everything-else))
-              ;; This `defun' will be compiled to `fset',
-              ;; which does not update `load-history'.
-              ;; We must update `current-load-list' explicitly.
-              (setq current-load-list
-                    (cons (quote (, name)) current-load-list))
-              (put (quote (, name)) 'defun-maybe t))))))
+           (not (get name 'defun-maybe)))
+      `(or (fboundp (quote ,name))
+           (prog1
+               (defun ,name ,@ everything-else)
+             ;; This `defun' will be compiled to `fset',
+             ;; which does not update `load-history'.
+             ;; We must update `current-load-list' explicitly.
+             (setq current-load-list
+                   (cons (quote ,name) current-load-list))
+             (put (quote ,name) 'defun-maybe t)))))
 
 (put 'defmacro-maybe 'lisp-indent-function 'defun)
 (defmacro defmacro-maybe (name &rest everything-else)
   "Define NAME as a macro if NAME is not defined.
 See also the function `defmacro'."
   (or (and (fboundp name)
 
 (put 'defmacro-maybe 'lisp-indent-function 'defun)
 (defmacro defmacro-maybe (name &rest everything-else)
   "Define NAME as a macro if NAME is not defined.
 See also the function `defmacro'."
   (or (and (fboundp name)
-          (not (get name 'defmacro-maybe)))
-      (` (or (fboundp (quote (, name)))
-            (prog1
-                (defmacro (, name) (,@ everything-else))
-              ;; This `defmacro' will be compiled to `fset',
-              ;; which does not update `load-history'.
-              ;; We must update `current-load-list' explicitly.
-              (setq current-load-list
-                    (cons (quote (, name)) current-load-list))
-              (put (quote (, name)) 'defmacro-maybe t))))))
+           (not (get name 'defmacro-maybe)))
+      `(or (fboundp (quote ,name))
+           (prog1
+               (defmacro ,name ,@ everything-else)
+             ;; This `defmacro' will be compiled to `fset',
+             ;; which does not update `load-history'.
+             ;; We must update `current-load-list' explicitly.
+             (setq current-load-list
+                   (cons (quote ,name) current-load-list))
+             (put (quote ,name) 'defmacro-maybe t)))))
 
 (put 'defsubst-maybe 'lisp-indent-function 'defun)
 (defmacro defsubst-maybe (name &rest everything-else)
 
 (put 'defsubst-maybe 'lisp-indent-function 'defun)
 (defmacro defsubst-maybe (name &rest everything-else)
@@ -95,51 +95,51 @@ See also the function `defmacro'."
 See also the macro `defsubst'."
   (or (and (fboundp name)
           (not (get name 'defsubst-maybe)))
 See also the macro `defsubst'."
   (or (and (fboundp name)
           (not (get name 'defsubst-maybe)))
-      (` (or (fboundp (quote (, name)))
-            (prog1
-                (defsubst (, name) (,@ everything-else))
-              ;; This `defsubst' will be compiled to `fset',
-              ;; which does not update `load-history'.
-              ;; We must update `current-load-list' explicitly.
-              (setq current-load-list
-                    (cons (quote (, name)) current-load-list))
-              (put (quote (, name)) 'defsubst-maybe t))))))
+      `(or (fboundp (quote ,name))
+           (prog1
+               (defsubst ,name ,@ everything-else)
+             ;; This `defsubst' will be compiled to `fset',
+             ;; which does not update `load-history'.
+             ;; We must update `current-load-list' explicitly.
+             (setq current-load-list
+                   (cons (quote ,name) current-load-list))
+             (put (quote ,name) 'defsubst-maybe t)))))
 
 (defmacro defalias-maybe (symbol definition)
   "Define SYMBOL as an alias for DEFINITION if SYMBOL is not defined.
 See also the function `defalias'."
   (setq symbol (eval symbol))
   (or (and (fboundp symbol)
 
 (defmacro defalias-maybe (symbol definition)
   "Define SYMBOL as an alias for DEFINITION if SYMBOL is not defined.
 See also the function `defalias'."
   (setq symbol (eval symbol))
   (or (and (fboundp symbol)
-          (not (get symbol 'defalias-maybe)))
-      (` (or (fboundp (quote (, symbol)))
-            (prog1
-                (defalias (quote (, symbol)) (, definition))
-              ;; `defalias' updates `load-history' internally.
-              (put (quote (, symbol)) 'defalias-maybe t))))))
+           (not (get symbol 'defalias-maybe)))
+      `(or (fboundp (quote ,symbol))
+           (prog1
+               (defalias (quote ,symbol) ,definition)
+             ;; `defalias' updates `load-history' internally.
+             (put (quote ,symbol) 'defalias-maybe t)))))
 
 (defmacro defvar-maybe (name &rest everything-else)
   "Define NAME as a variable if NAME is not defined.
 See also the function `defvar'."
   (or (and (boundp name)
           (not (get name 'defvar-maybe)))
 
 (defmacro defvar-maybe (name &rest everything-else)
   "Define NAME as a variable if NAME is not defined.
 See also the function `defvar'."
   (or (and (boundp name)
           (not (get name 'defvar-maybe)))
-      (` (or (boundp (quote (, name)))
-            (prog1
-                (defvar (, name) (,@ everything-else))
-              ;; byte-compiler will generate code to update
-              ;; `load-history'.
-              (put (quote (, name)) 'defvar-maybe t))))))
+      `(or (boundp (quote ,name))
+           (prog1
+               (defvar ,name ,@ everything-else)
+             ;; byte-compiler will generate code to update
+             ;; `load-history'.
+             (put (quote ,name) 'defvar-maybe t)))))
 
 (defmacro defconst-maybe (name &rest everything-else)
   "Define NAME as a constant variable if NAME is not defined.
 See also the function `defconst'."
   (or (and (boundp name)
 
 (defmacro defconst-maybe (name &rest everything-else)
   "Define NAME as a constant variable if NAME is not defined.
 See also the function `defconst'."
   (or (and (boundp name)
-          (not (get name 'defconst-maybe)))
-      (` (or (boundp (quote (, name)))
-            (prog1
-                (defconst (, name) (,@ everything-else))
-              ;; byte-compiler will generate code to update
-              ;; `load-history'.
-              (put (quote (, name)) 'defconst-maybe t))))))
+           (not (get name 'defconst-maybe)))
+      `(or (boundp (quote ,name))
+           (prog1
+               (defconst ,name ,@ everything-else)
+             ;; byte-compiler will generate code to update
+             ;; `load-history'.
+             (put (quote ,name) 'defconst-maybe t)))))
 
 (defmacro defun-maybe-cond (name args &optional doc &rest clauses)
   "Define NAME as a function if NAME is not defined.
 
 (defmacro defun-maybe-cond (name args &optional doc &rest clauses)
   "Define NAME as a function if NAME is not defined.
@@ -149,29 +149,29 @@ for function definition of NAME.
 See also the function `defun'."
   (or (stringp doc)
       (setq clauses (cons doc clauses)
 See also the function `defun'."
   (or (stringp doc)
       (setq clauses (cons doc clauses)
-           doc nil))
+            doc nil))
   (or (and (fboundp name)
   (or (and (fboundp name)
-          (not (get name 'defun-maybe)))
-      (` (or (fboundp (quote (, name)))
-            (prog1
-                (static-cond
-                 (,@ (mapcar
-                      (function
-                       (lambda (case)
-                         (list (car case)
-                               (if doc
-                                   (` (defun (, name) (, args)
-                                        (, doc)
-                                        (,@ (cdr case))))
-                                 (` (defun (, name) (, args)
-                                      (,@ (cdr case))))))))
-                      clauses)))
-              ;; This `defun' will be compiled to `fset',
-              ;; which does not update `load-history'.
-              ;; We must update `current-load-list' explicitly.
-              (setq current-load-list
-                    (cons (quote (, name)) current-load-list))
-              (put (quote (, name)) 'defun-maybe t))))))
+           (not (get name 'defun-maybe)))
+      `(or (fboundp (quote ,name))
+           (prog1
+               (static-cond
+                ,@ (mapcar
+                    (function
+                      (lambda (case)
+                        (list (car case)
+                              (if doc
+                                  `(defun ,name ,args
+                                     ,doc
+                                     ,@ (cdr case))
+                                ` (defun ,name ,args
+                                    ,@ (cdr case))))))
+                     clauses))
+             ;; This `defun' will be compiled to `fset',
+             ;; which does not update `load-history'.
+             ;; We must update `current-load-list' explicitly.
+             (setq current-load-list
+                   (cons (quote ,name) current-load-list))
+             (put (quote ,name) 'defun-maybe t)))))
 
 (defmacro defmacro-maybe-cond (name args &optional doc &rest clauses)
   "Define NAME as a macro if NAME is not defined.
 
 (defmacro defmacro-maybe-cond (name args &optional doc &rest clauses)
   "Define NAME as a macro if NAME is not defined.
@@ -184,26 +184,26 @@ See also the function `defmacro'."
            doc nil))
   (or (and (fboundp name)
           (not (get name 'defmacro-maybe)))
            doc nil))
   (or (and (fboundp name)
           (not (get name 'defmacro-maybe)))
-      (` (or (fboundp (quote (, name)))
-            (prog1
-                (static-cond
-                 (,@ (mapcar
-                      (function
-                       (lambda (case)
-                         (list (car case)
-                               (if doc
-                                   (` (defmacro (, name) (, args)
-                                        (, doc)
-                                        (,@ (cdr case))))
-                                 (` (defmacro (, name) (, args)
-                                      (,@ (cdr case))))))))
-                      clauses)))
-              ;; This `defmacro' will be compiled to `fset',
-              ;; which does not update `load-history'.
-              ;; We must update `current-load-list' explicitly.
-              (setq current-load-list
-                    (cons (quote (, name)) current-load-list))
-              (put (quote (, name)) 'defmacro-maybe t))))))
+      `(or (fboundp (quote ,name))
+           (prog1
+               (static-cond
+                ,@ (mapcar
+                     (function
+                      (lambda (case)
+                        (list (car case)
+                              (if doc
+                                  `(defmacro ,name ,args
+                                     ,doc
+                                     ,@ (cdr case))
+                                `(defmacro ,name ,args
+                                   ,@ (cdr case))))))
+                     clauses))
+             ;; This `defmacro' will be compiled to `fset',
+             ;; which does not update `load-history'.
+             ;; We must update `current-load-list' explicitly.
+             (setq current-load-list
+                   (cons (quote ,name) current-load-list))
+             (put (quote ,name) 'defmacro-maybe t)))))
 
 (defmacro defsubst-maybe-cond (name args &optional doc &rest clauses)
   "Define NAME as an inline function if NAME is not defined.
 
 (defmacro defsubst-maybe-cond (name args &optional doc &rest clauses)
   "Define NAME as an inline function if NAME is not defined.
@@ -213,29 +213,29 @@ for function definition of NAME.
 See also the macro `defsubst'."
   (or (stringp doc)
       (setq clauses (cons doc clauses)
 See also the macro `defsubst'."
   (or (stringp doc)
       (setq clauses (cons doc clauses)
-           doc nil))
+            doc nil))
   (or (and (fboundp name)
   (or (and (fboundp name)
-          (not (get name 'defsubst-maybe)))
-      (` (or (fboundp (quote (, name)))
-            (prog1
-                (static-cond
-                 (,@ (mapcar
-                      (function
-                       (lambda (case)
-                         (list (car case)
-                               (if doc
-                                   (` (defsubst (, name) (, args)
-                                        (, doc)
-                                        (,@ (cdr case))))
-                                 (` (defsubst (, name) (, args)
-                                      (,@ (cdr case))))))))
-                      clauses)))
-              ;; This `defsubst' will be compiled to `fset',
-              ;; which does not update `load-history'.
-              ;; We must update `current-load-list' explicitly.
-              (setq current-load-list
-                    (cons (quote (, name)) current-load-list))
-              (put (quote (, name)) 'defsubst-maybe t))))))
+           (not (get name 'defsubst-maybe)))
+      `(or (fboundp (quote ,name))
+           (prog1
+               (static-cond
+                ,@ (mapcar
+                     (function
+                      (lambda (case)
+                        (list (car case)
+                              (if doc
+                                  `(defsubst ,name ,args
+                                     ,doc
+                                     ,@ (cdr case))
+                                `(defsubst ,name ,args
+                                   ,@ (cdr case))))))
+                     clauses))
+             ;; This `defsubst' will be compiled to `fset',
+             ;; which does not update `load-history'.
+             ;; We must update `current-load-list' explicitly.
+             (setq current-load-list
+                   (cons (quote ,name) current-load-list))
+             (put (quote ,name) 'defsubst-maybe t)))))
 
 
 ;;; Edebug spec.
 
 
 ;;; Edebug spec.
@@ -246,7 +246,7 @@ See also the macro `defsubst'."
   "Set the edebug-form-spec property of SYMBOL according to SPEC.
 Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol
 \(naming a function\), or a list."
   "Set the edebug-form-spec property of SYMBOL according to SPEC.
 Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol
 \(naming a function\), or a list."
-  (` (put (quote (, symbol)) 'edebug-form-spec (quote (, spec)))))
+  `(put (quote ,symbol) 'edebug-form-spec (quote ,spec)))
 
 ;; edebug-spec for `def*-maybe' macros.
 (def-edebug-spec defun-maybe defun)
 
 ;; edebug-spec for `def*-maybe' macros.
 (def-edebug-spec defun-maybe defun)
index 34d6f1b..e7cb5cd 100644 (file)
--- a/static.el
+++ b/static.el
   "Like `if', but evaluate COND at compile time."
   (if (eval cond)
       then
   "Like `if', but evaluate COND at compile time."
   (if (eval cond)
       then
-    (` (progn  (,@ else)))))
+    `(progn ,@ else)))
 
 (put 'static-when 'lisp-indent-function 1)
 (defmacro static-when (cond &rest body)
   "Like `when', but evaluate COND at compile time."
   (if (eval cond)
 
 (put 'static-when 'lisp-indent-function 1)
 (defmacro static-when (cond &rest body)
   "Like `when', but evaluate COND at compile time."
   (if (eval cond)
-      (` (progn (,@ body)))))
+      `(progn ,@ body)))
 
 (put 'static-unless 'lisp-indent-function 1)
 (defmacro static-unless (cond &rest body)
   "Like `unless', but evaluate COND at compile time."
   (if (eval cond)
       nil
 
 (put 'static-unless 'lisp-indent-function 1)
 (defmacro static-unless (cond &rest body)
   "Like `unless', but evaluate COND at compile time."
   (if (eval cond)
       nil
-    (` (progn (,@ body)))))
+    `(progn ,@ body)))
 
 (put 'static-condition-case 'lisp-indent-function 2)
 (defmacro static-condition-case (var bodyform &rest handlers)
   "Like `condition-case', but evaluate BODYFORM at compile time."
 
 (put 'static-condition-case 'lisp-indent-function 2)
 (defmacro static-condition-case (var bodyform &rest handlers)
   "Like `condition-case', but evaluate BODYFORM at compile time."
-  (eval (` (condition-case (, var)
-              (list (quote quote) (, bodyform))
-            (,@ (mapcar
-                 (if var
-                     (function
-                      (lambda (h)
-                        (` ((, (car h))
-                            (list (quote funcall)
-                                  (function (lambda ((, var)) (,@ (cdr h))))
-                                  (list (quote quote) (, var)))))))
-                   (function
-                    (lambda (h)
-                      (` ((, (car h)) (quote (progn (,@ (cdr h)))))))))
-                 handlers))))))
+  (eval `(condition-case ,var
+             (list (quote quote) ,bodyform)
+           ,@
+           (mapcar
+            (if var
+                (function
+                 (lambda (h)
+                   `(,(car h)
+                     (list (quote funcall)
+                           (function (lambda (,var) ,@ (cdr h)))
+                           (list (quote quote) ,var)))))
+              (function
+               (lambda (h)
+                 `(,(car h) (quote (progn ,@ (cdr h)))))))
+            handlers))))
 
 (put 'static-defconst 'lisp-indent-function 'defun)
 (defmacro static-defconst (symbol initvalue &optional docstring)
 
 (put 'static-defconst 'lisp-indent-function 'defun)
 (defmacro static-defconst (symbol initvalue &optional docstring)
@@ -68,8 +69,8 @@
 
 The variable SYMBOL can be referred at both compile time and run time."
   (let ((value (eval initvalue)))
 
 The variable SYMBOL can be referred at both compile time and run time."
   (let ((value (eval initvalue)))
-    (eval (` (defconst (, symbol) (quote (, value)) (, docstring))))
-    (` (defconst (, symbol) (quote (, value)) (, docstring)))))
+    (eval `(defconst ,symbol (quote ,value) ,docstring))
+    `(defconst ,symbol (quote ,value) ,docstring)))
 
 (defmacro static-cond (&rest clauses)
   "Like `cond', but evaluate CONDITION part of each clause at compile time."
 
 (defmacro static-cond (&rest clauses)
   "Like `cond', but evaluate CONDITION part of each clause at compile time."
index 9113768..38e4ba6 100644 (file)
@@ -50,7 +50,7 @@ DOC is the variable documentation.
 
 This is a defcustom only for emulating purpose.
 Its effect is just as same as that of defvar."
 
 This is a defcustom only for emulating purpose.
 Its effect is just as same as that of defvar."
-  (` (defvar (, symbol) (, value) (, doc))))
+  `(defvar ,symbol ,value ,doc))
 
 (defvar-maybe frame-background-mode nil
   "*The brightness of the background.
 
 (defvar-maybe frame-background-mode nil
   "*The brightness of the background.