File backquote.diff of Package emacs-w3

--- lisp/css.el
+++ lisp/css.el
@@ -448,11 +448,11 @@ For a terminal frame, the value is alway
     rval))
 
 (defmacro css-symbol-list-as-regexp (&rest keys)
-  (` (eval-when-compile
-       (concat "^\\("
-	       (mapconcat 'symbol-name
-			  (quote (, keys))
-			  "\\|") "\\)$"))))
+  `(eval-when-compile
+     (concat "^\\("
+	     (mapconcat 'symbol-name
+			',keys
+			"\\|") "\\)$")))
 
 (defun css-expand-color (color)
   (cond
@@ -856,15 +856,14 @@ For a terminal frame, the value is alway
     types))
 
 (defmacro css-rule-specificity-internal (rule)
-  (`
-   (progn
-     (setq tmp (cdr (, rule)))
+  `(progn
+     (setq tmp (cdr ,rule))
      (if (listp tmp)
 	 (while tmp
 	   (if (= ?# (aref (car tmp) 0))
 	       (incf a)
 	     (incf b))
-	   (setq tmp (cdr tmp)))))))
+	   (setq tmp (cdr tmp))))))
 
 (defsubst css-specificity (rule)
   ;; To find specificity, according to the september 1996 CSS draft
--- lisp/font.el
+++ lisp/font.el
@@ -163,10 +163,10 @@ These are for use in the `weight' field
   (defmacro define-new-mask (attr mask)
     `(progn
        (setq font-style-keywords
-	     (cons (cons (quote ,attr)
+	     (cons (cons ',attr
 			 (cons
-			  (quote ,(intern (format "set-font-%s-p" attr)))
-			  (quote ,(intern (format "font-%s-p" attr)))))
+			  ',(intern (format "set-font-%s-p" attr))
+			  ',(intern (format "font-%s-p" attr))))
 		   font-style-keywords))
        (defconst ,(intern (format "font-%s-mask" attr)) (lsh 1 ,mask)
 	 ,(format
--- lisp/md5.el
+++ lisp/md5.el
@@ -168,11 +168,10 @@ Returns a vector of 16 bytes containing
 (defsubst md5-I (x y z) (logxor y (logior x (logand 65535 (lognot z)))))
 
 (defmacro md5-make-step (name func)
-  (`
-   (defun (, name) (a b c d x s ac)
+  `(defun ,name (a b c d x s ac)
      (let*
-         ((m1 (+ (car a) ((, func) (car b) (car c) (car d)) (car x) (car ac)))
-          (l1 (+ (cdr a) ((, func) (cdr b) (cdr c) (cdr d)) (cdr x) (cdr ac)))
+         ((m1 (+ (car a) (,func (car b) (car c) (car d)) (car x) (car ac)))
+          (l1 (+ (cdr a) (,func (cdr b) (cdr c) (cdr d)) (cdr x) (cdr ac)))
           (m2 (logand 65535 (+ m1 (lsh l1 -16))))
           (l2 (logand 65535 l1))
           (m3 (logand 65535 (if (> s 15)
@@ -181,7 +180,7 @@ Returns a vector of 16 bytes containing
           (l3 (logand 65535 (if (> s 15)
                                 (+ (lsh l2 (- s 32)) (lsh m2 (- s 16)))
                               (+ (lsh l2 s) (lsh m2 (- s 16)))))))
-       (md5-add (cons m3 l3) b)))))
+       (md5-add (cons m3 l3) b))))
 
 (md5-make-step md5-FF md5-F)
 (md5-make-step md5-GG md5-G)
--- lisp/w3-display.el
+++ lisp/w3-display.el
@@ -98,9 +98,9 @@
   
   (defmacro w3-get-face-info (info &optional other)
     (let ((var (intern (format "w3-face-%s" info))))
-      `(push (w3-get-style-info (quote ,info) node
+      `(push (w3-get-style-info ',info node
 				(or (and (not w3-user-colors-take-precedence)
-					 (cdr-safe (assq (quote ,other)
+					 (cdr-safe (assq ',other
 							 (nth 1 node))))
 				    (car ,var)))
 	     ,var)))
@@ -110,7 +110,7 @@
       `(pop ,var)))
 
   (defmacro w3-get-all-face-info ()
-    `(progn
+    '(progn
        (w3-get-face-info font-family)
        ;; This is to handle the 'face' attribute on arbitrary elements
        (if (cdr-safe (assq 'face (nth 1 node)))
@@ -134,7 +134,7 @@
 				:size (car w3-face-font-size)))))
 
   (defmacro w3-pop-all-face-info ()
-    `(progn
+    '(progn
        (w3-pop-face-info font-family)
        (w3-pop-face-info font-weight)
        (w3-pop-face-info font-variant)
@@ -589,25 +589,22 @@ If the face already exists, it is unmodi
 ;; Various macros
 (eval-when-compile
   (defmacro w3-node-visible-p ()
-    (` (not (eq (car break-style) 'none))))
+    '(not (eq (car break-style) 'none)))
 
   (defmacro w3-handle-empty-tag ()
-    (`
-     (progn
+    '(progn
        (push (cons tag args) w3-display-open-element-stack)
        (push content content-stack)
-       (setq content nil))))
+       (setq content nil)))
 
   (defmacro w3-handle-content (node)
-    (`
-     (progn
+    `(progn
        (push (cons tag args) w3-display-open-element-stack)
        (push content content-stack)
-       (setq content (nth 2 (, node))))))
+       (setq content (nth 2 ,node))))
 
   (defmacro w3-display-handle-list-type ()
-    (`
-     (add-text-properties
+    '(add-text-properties
       (point)
       (progn
 	(case (car break-style)
@@ -657,11 +654,10 @@ If the face already exists, it is unmodi
       (list 'start-open t
 	    'end-open t
 	    'rear-nonsticky nil
-	    'face 'nil))))
+	    'face 'nil)))
 
   (defmacro w3-display-set-margins ()
-    (`
-     (progn
+    '(progn
        (push (+ (w3-get-style-info 'margin-left node 0)
 		(car left-margin-stack)) left-margin-stack)
        (push (-
@@ -669,17 +665,15 @@ If the face already exists, it is unmodi
 	      (w3-get-style-info 'margin-right node 0)) right-margin-stack)
        (setq fill-column (car right-margin-stack))
        (w3-set-fill-prefix-length (car left-margin-stack))
-       (w3-display-handle-list-type))))
+       (w3-display-handle-list-type)))
 
   (defmacro w3-display-restore-margins ()
-    (`
-     (progn
+    '(progn
        (pop right-margin-stack)
-       (pop left-margin-stack))))
+       (pop left-margin-stack)))
 
   (defmacro w3-display-handle-break ()
-    (`
-     (case (car break-style)
+    '(case (car break-style)
        (block				; Full paragraph break
 	(if (eq (cadr break-style) 'list-item)
 	    (setf (cadr break-style) 'line)
@@ -720,15 +714,12 @@ If the face already exists, it is unmodi
        (otherwise			; Assume 'inline' rendering as default
 	nil))
      )
-    )
 
   (defmacro w3-display-progress-meter ()
-    (`
-     (url-lazy-message "Drawing... %c" (aref "/|\\-" (random 4)))))
+    '(url-lazy-message "Drawing... %c" (aref "/|\\-" (random 4))))
     
   (defmacro w3-display-handle-end-break ()
-    (`
-     (case (pop break-style)
+    '(case (pop break-style)
        (block				; Full paragraph break
 	(w3-display-line-break 1)
 	(w3-display-restore-margins)
@@ -745,7 +736,6 @@ If the face already exists, it is unmodi
        (otherwise			; Assume 'inline' rendering as default
 	nil))
      )
-    )
   )
 
 ;; <link> handling
@@ -966,24 +956,23 @@ If the face already exists, it is unmodi
     (concat "[" (file-name-sans-extension fname) "]")))
 
 (defmacro w3-image-alt (src)
-  (`
-   (let* ((doc-alt (w3-get-attribute 'alt))
+  `(let* ((doc-alt (w3-get-attribute 'alt))
 	  (alt (or (and (stringp doc-alt) (string-match "[^ \t\n]" doc-alt) doc-alt)
 		   (cond
 		    ((null w3-auto-image-alt) "")
 		    ((eq t w3-auto-image-alt)
-		     (concat "[IMAGE(" (url-basepath src t) ")] "))
+		     (concat "[IMAGE(" (url-basepath ,src t) ")] "))
 		    ((stringp w3-auto-image-alt)
-		     (format w3-auto-image-alt (url-basepath src t)))
+		     (format w3-auto-image-alt (url-basepath ,src t)))
 		    ((functionp w3-auto-image-alt)
-		     (funcall w3-auto-image-alt (url-basepath src t))))))
+		     (funcall w3-auto-image-alt (url-basepath ,src t))))))
 	  c)
      (while (setq c (string-match "[\C-i\C-j\C-l\C-m]" alt))
        (aset alt c ? ))
-     alt)))
+     alt))
 
 (defmacro w3-handle-image ()
-  `(let* ((height (w3-get-attribute 'height))
+  '(let* ((height (w3-get-attribute 'height))
 	  (width (w3-get-attribute 'width))
 	  (src (or (w3-get-attribute 'src) "Error Image"))
 	  (alt (w3-image-alt src))
--- lisp/w3-forms.el
+++ lisp/w3-forms.el
@@ -407,7 +407,7 @@
 			   (list 'choice-item
 				 :format "%[%t%]"
 				 :emacspeak-help 'w3-form-summarize-field
-				 :menu-tag-get (` (lambda (zed) (, (car x))))
+				 :menu-tag-get `(lambda (zed) ,(car x))
 				 :tag (truncate-string-to-width (car x)
 								size nil ? )
 				 :button-face face
--- lisp/w3-java.el
+++ lisp/w3-java.el
@@ -75,13 +75,10 @@ Java applet."
       (if (stringp w3-java-vm-program)
 	  (let ((process-connection-type nil)
 		(proc nil))
-	    (setq proc (eval
-			(`
-			 (start-process name buffer w3-java-vm-program
-					(,@ w3-java-vm-arguments)))))
+	    (setq proc (apply 'start-process name buffer w3-java-vm-program
+			      w3-java-vm-arguments))
 	    (process-kill-without-query proc)
 	    proc)
-	(eval (` (funcall w3-java-vm-program
-			  (,@ w3-java-vm-arguments))))))))
+	(apply w3-java-vm-program w3-java-vm-arguments)))))
 
 (provide 'w3-java)
--- lisp/w3-parse.el
+++ lisp/w3-parse.el
@@ -69,15 +69,15 @@ w3-parse-buffer which it is w3-parse-buf
   (defmacro w3-p-s-var-def (var)
     "Declare VAR as a scratch variable which w3-parse-buffer must
 \"let\"-bind."
-    (` (eval-when-compile
-         (defvar (, var))
-         (or (memq '(, var) w3-p-s-var-list)
-             (setq w3-p-s-var-list (cons '(, var) w3-p-s-var-list))))))
+    `(eval-when-compile
+       (defvar ,var)
+       (or (memq ',var w3-p-s-var-list)
+           (setq w3-p-s-var-list (cons ',var w3-p-s-var-list)))))
 
   (defmacro w3-p-s-let-bindings (&rest body)
     "\"let\"-bind all of the variables in w3-p-s-var-list in BODY."
-    (` (let (, w3-p-s-var-list)
-         (,@ body))))
+    `(let ,w3-p-s-var-list
+       ,@body))
   (put 'w3-p-s-let-bindings 'lisp-indent-function 0)
   (put 'w3-p-s-let-bindings 'edebug-form-spec t)
 
@@ -193,15 +193,15 @@ which must be a string to use as the err
                         'w3-debug-html))
       (if mandatory-if
           (setq condition
-                (` (or (, mandatory-if)
-                       (, condition)))))
-      (` (if (, condition)
-             (let ((message (progn (,@ body))))
-               (if message
-                   (w3-debug-html-aux message
-                                      (,@ (if nocontext
-                                              (list outer nocontext)
-                                            (if outer '(t)))))))))))
+                `(or ,mandatory-if
+                     ,condition)))
+      `(if ,condition
+           (let ((message (progn ,@body)))
+             (if message
+                 (w3-debug-html-aux message
+                                    ,@(if nocontext
+                                          (list outer nocontext)
+                                        (if outer '(t)))))))))
 
   ;; This is unsatisfactory.
   (put 'w3-debug-html 'lisp-indent-function 0)
@@ -261,7 +261,7 @@ which must be a string to use as the err
 ;; It's perhaps better to use a suitable display table for these
 ;; things.  -- fx
 (defconst w3-invalid-sgml-char-replacement
-  `((128 "euro" 8364) ;; U+20AC  EURO SIGN
+  '((128 "euro" 8364) ;; U+20AC  EURO SIGN
     (130 "," 8218) ;; U+201A  SINGLE LOW-9 QUOTATION MARK
     (131 "_f" 402) ;; U+0192  LATIN SMALL LETTER F WITH HOOK
     (132 ",,"8222) ;; U+201E  DOUBLE LOW-9 QUOTATION MARK
@@ -721,11 +721,11 @@ available.  Codes in the range [128,160]
       (let* ((field (symbol-name (car fields)))
              (get-sym (intern (concat "w3-element-" field)))
              (set-sym (intern (concat "w3-set-element-" field))))
-        (eval (` (progn
-                   (defmacro (, get-sym) (element)
-                     (list 'aref element (, index)))
-                   (defmacro (, set-sym) (element value)
-                     (list 'aset element (, index) value))))))
+        (eval `(progn
+                 (defmacro ,get-sym (element)
+                   (list 'aref element ,index))
+                 (defmacro ,set-sym (element value)
+                   (list 'aset element ,index value)))))
       (setq fields (cdr fields))
       (setq index (1- index))))
 
@@ -734,14 +734,14 @@ available.  Codes in the range [128,160]
 
   ;; *** move this to be with DTD declaration.
   (defmacro w3-fresh-element-for-tag (tag)
-    (` (copy-sequence
-        (or (get (, tag) 'html-element-info)
-            (error "unimplemented element %s"
-                   (w3-sgml-name-to-string (, tag)))))))
+    `(copy-sequence
+      (or (get ,tag 'html-element-info)
+          (error "unimplemented element %s"
+                 (w3-sgml-name-to-string ,tag)))))
 
   ;; *** move this to be with DTD declaration.
   (defmacro w3-known-element-p (tag)
-    (` (get (, tag) 'html-element-info)))
+    `(get ,tag 'html-element-info))
   
   (defsubst w3-sgml-name-to-string (sym)
     (upcase (symbol-name sym)))
--- lisp/w3-speak-table.el
+++ lisp/w3-speak-table.el
@@ -18,43 +18,43 @@
 (defmacro w3-within-cell (cell-info table-info &rest forms)
   "Enables to recursively enter the current cell using `extract-rectangle'
 using CELL-INFO and TABLE-INFO and process FORMS inside it (for instance to process subtables)"
-  (` (let* ((cell-row (w3-cell-info-row (, cell-info)))
-	    (cell-col (w3-cell-info-column (, cell-info)))
-	    (cell-beg (w3-cell-info-start (, cell-info)))
-	    (cell-end (w3-cell-info-end (, cell-info)))
-	    (cell-contents (extract-rectangle cell-beg cell-end))
-	    (cell-x (count-lines (save-excursion (goto-char cell-beg) (beginning-of-line) (point))
-				 (save-excursion (beginning-of-line) (point))))
-	    (current-col (current-column))
-	    (cell-y (save-excursion (forward-line (- cell-x))
-				    (move-to-column current-col)
-				    (- (point) cell-beg)))
-	    cell-table-structure)
-       ;; really inside cell ?
-       (when (and (, cell-info)
-		  (>= (point) cell-beg)
-		  (<= (point) cell-end))
-	 ;; find current subtables structure
-	 (loop for subtable in (w3-table-info-subtables (, table-info))
-	   if (and (= cell-row (car subtable))
-		   (= cell-col (cadr subtable)))
-	   do (setq cell-table-structure (cons (cddr subtable) cell-table-structure)))
-	 (with-temp-buffer
-	   (mapc (lambda (s) (insert s ?\n)) cell-contents)
-	   ;; remove end of line padding
-	   (when cell-table-structure
-	     (goto-char (point-min))
-	     (end-of-line)
-	     (while (not (eobp))
-	       (delete-horizontal-space)
-	       (forward-line 1)
-	       (end-of-line)))
-	   ;; reposition
+  `(let* ((cell-row (w3-cell-info-row ,cell-info))
+	  (cell-col (w3-cell-info-column ,cell-info))
+	  (cell-beg (w3-cell-info-start ,cell-info))
+	  (cell-end (w3-cell-info-end ,cell-info))
+	  (cell-contents (extract-rectangle cell-beg cell-end))
+	  (cell-x (count-lines (save-excursion (goto-char cell-beg) (beginning-of-line) (point))
+			       (save-excursion (beginning-of-line) (point))))
+	  (current-col (current-column))
+	  (cell-y (save-excursion (forward-line (- cell-x))
+				  (move-to-column current-col)
+				  (- (point) cell-beg)))
+	  cell-table-structure)
+     ;; really inside cell ?
+     (when (and ,cell-info
+		(>= (point) cell-beg)
+		(<= (point) cell-end))
+       ;; find current subtables structure
+       (loop for subtable in (w3-table-info-subtables ,table-info)
+	     if (and (= cell-row (car subtable))
+		     (= cell-col (cadr subtable)))
+	     do (setq cell-table-structure (cons (cddr subtable) cell-table-structure)))
+       (with-temp-buffer
+	 (mapc (lambda (s) (insert s ?\n)) cell-contents)
+	 ;; remove end of line padding
+	 (when cell-table-structure
 	   (goto-char (point-min))
-	   (forward-line cell-x)
-	   (move-to-column cell-y)
-	   (setq w3-table-structure (nreverse cell-table-structure))
-	   (,@ forms))))))
+	   (end-of-line)
+	   (while (not (eobp))
+	     (delete-horizontal-space)
+	     (forward-line 1)
+	     (end-of-line)))
+	 ;; reposition
+	 (goto-char (point-min))
+	 (forward-line cell-x)
+	 (move-to-column cell-y)
+	 (setq w3-table-structure (nreverse cell-table-structure))
+	 ,@forms))))
 
 (put 'w3-within-cell 'lisp-indent-function 2)
 (put 'w3-within-cell 'edebug-form-spec '(sexp sexp &rest form))
@@ -62,15 +62,15 @@ using CELL-INFO and TABLE-INFO and proce
 (defmacro w3-table-compute-relative-movement (&rest forms)
   "Record a movement done by &rest FORMS (e.g. inside a temporary buffer)
 and return it as (horizontal-offset . vertical-offset)"
-  (` (let ((origin-line-beg (save-excursion (beginning-of-line) (point)))
-	   (origin-char-col (current-column)))
-       (,@ forms)
-       (cons (- (current-column) origin-char-col)
-	     (let* ((new-line-beg (save-excursion (beginning-of-line) (point)))
-		    (line-diff (count-lines new-line-beg origin-line-beg)))
-	       (if (< new-line-beg origin-line-beg)
-		   (- line-diff)
-		 line-diff))))))
+  `(let ((origin-line-beg (save-excursion (beginning-of-line) (point)))
+	 (origin-char-col (current-column)))
+     ,@forms
+     (cons (- (current-column) origin-char-col)
+	   (let* ((new-line-beg (save-excursion (beginning-of-line) (point)))
+		  (line-diff (count-lines new-line-beg origin-line-beg)))
+	     (if (< new-line-beg origin-line-beg)
+		 (- line-diff)
+	       line-diff)))))
 (put 'w3-table-compute-relative-movement 'lisp-indent-function 0)
 (put 'w3-table-compute-relative-movement 'edebug-form-spec '(&rest form))
 
@@ -85,31 +85,31 @@ and return it as (horizontal-offset . ve
 (defmacro w3-table-move-within-cell (at-depth cell-info move-function)
   "Move within a cell (in a temporary buffer) and reflect the same movement
 in the containing table in the original buffer"
-  (` (if (null (, cell-info))
-	 (error "Not inside a W3 cell")
-       (let (table-movement)
-	 (w3-within-cell (, cell-info) table-info
-			 (setq table-movement
-			       (w3-table-compute-relative-movement
-				(funcall (, move-function) (1- at-depth)))))
-	 (w3-table-redo-relative-movement table-movement)))))
+  `(if (null ,cell-info)
+       (error "Not inside a W3 cell")
+     (let (table-movement)
+       (w3-within-cell ,cell-info table-info
+		       (setq table-movement
+			     (w3-table-compute-relative-movement
+			      (funcall ,move-function (1- at-depth)))))
+       (w3-table-redo-relative-movement table-movement))))
 (put 'w3-table-move-within-cell 'lisp-indent-function 2)
 (put 'w3-table-move-within-cell 'edebug-form-spec '(sexp sexp &rest form))
 
 (defmacro w3-table-move-within-subtable (at-depth cell-info move-function)
   "Move within a subtable (in a temporary buffer) and reflect the same movement
 in the containing table in the original buffer"
-  (` (if (null (, cell-info))
-	 (error "Not inside a W3 cell")
-       (let ((subtable-info (w3-cell-info-current-subtable (, cell-info)))
-	     table-movement)
-	 (if (null subtable-info)
-	     (error "Not inside a W3 table")
-	   (w3-within-cell (, cell-info) table-info
-			   (setq table-movement
-				 (w3-table-compute-relative-movement
-				  (funcall (, move-function) (1- at-depth) subtable-info))))
-	   (w3-table-redo-relative-movement table-movement))))))
+  `(if (null ,cell-info)
+       (error "Not inside a W3 cell")
+     (let ((subtable-info (w3-cell-info-current-subtable ,cell-info))
+	   table-movement)
+       (if (null subtable-info)
+	   (error "Not inside a W3 table")
+	 (w3-within-cell ,cell-info table-info
+			 (setq table-movement
+			       (w3-table-compute-relative-movement
+				(funcall ,move-function (1- at-depth) subtable-info))))
+	 (w3-table-redo-relative-movement table-movement)))))
 
 (put 'w3-table-move-within-subtable 'lisp-indent-function 2)
 (put 'w3-table-move-within-subtable 'edebug-form-spec '(sexp sexp &rest form))
--- lisp/w3-sysdp.el
+++ lisp/w3-sysdp.el
@@ -74,71 +74,71 @@
 ;; in v18.)
 
 (defmacro sysdep-defun (function &rest everything-else)
-  (` (cond ((and (not (fboundp (quote (, function))))
-		 (or
-		  (not
-		   (stringp (get (quote (, function)) 'sysdep-defined-this)))
-		  (and (get (quote (, function)) 'sysdep-defined-this)
-		       (string-lessp
-			(get (quote (, function)) 'sysdep-defined-this)
-			sysdep-potential-version))))
-	    (put (quote (, function)) 'sysdep-defined-this
-		 sysdep-potential-version)
-	    (defun (, function) (,@ everything-else))))))
+  `(cond ((and (not (fboundp ',function))
+	       (or
+		(not
+		 (stringp (get ',function 'sysdep-defined-this)))
+		(and (get ',function 'sysdep-defined-this)
+		     (string-lessp
+		      (get ',function 'sysdep-defined-this)
+		      sysdep-potential-version))))
+	  (put ',function 'sysdep-defined-this
+	       sysdep-potential-version)
+	  (defun ,function ,@everything-else))))
 
 (defmacro sysdep-defvar (function &rest everything-else)
-  (` (cond ((and (not (boundp (quote (, function))))
-		 (or 
-		  (not
-		   (stringp (get (quote (, function)) 'sysdep-defined-this)))
-		  (and (get (quote (, function)) 'sysdep-defined-this)
-		       (string-lessp
-			(get (quote (, function)) 'sysdep-defined-this)
-			sysdep-potential-version))))
-	    (put (quote (, function)) 'sysdep-defined-this t)
-	    (defvar (, function) (,@ everything-else))))))
+  `(cond ((and (not (boundp ',function))
+	       (or 
+		(not
+		 (stringp (get ',function 'sysdep-defined-this)))
+		(and (get ',function 'sysdep-defined-this)
+		     (string-lessp
+		      (get ',function 'sysdep-defined-this)
+		      sysdep-potential-version))))
+	  (put ',function 'sysdep-defined-this t)
+	  (defvar ,function ,@everything-else))))
 
 (defmacro sysdep-defconst (function &rest everything-else)
-  (` (cond ((and (not (boundp (quote (, function))))
-		 (or
-		  (not
-		   (stringp (get (quote (, function)) 'sysdep-defined-this)))
-		  (and (get (quote (, function)) 'sysdep-defined-this)
-		       (string-lessp
-			(get (quote (, function)) 'sysdep-defined-this)
-			sysdep-potential-version))))
-	    (put (quote (, function)) 'sysdep-defined-this t)
-	    (defconst (, function) (,@ everything-else))))))
+  `(cond ((and (not (boundp ',function))
+	       (or
+		(not
+		 (stringp (get ',function 'sysdep-defined-this)))
+		(and (get ',function 'sysdep-defined-this)
+		     (string-lessp
+		      (get ',function 'sysdep-defined-this)
+		      sysdep-potential-version))))
+	  (put ',function 'sysdep-defined-this t)
+	  (defconst ,function ,@everything-else))))
 
 ;; similar for fset and defalias.  No need to quote as the argument
 ;; is already quoted.
 
 (defmacro sysdep-fset (function def)
-  (` (cond ((and (not (fboundp (, function)))
-		 (or (not (stringp
-			   (get (, function) 'sysdep-defined-this)))
-		     (and (get (, function) 'sysdep-defined-this)
-			  (string-lessp
-			   (get (, function) 'sysdep-defined-this)
-			   sysdep-potential-version)))
-		 (, def))
-	    (put (, function) 'sysdep-defined-this t)
-	    (fset (, function) (, def))))))
+  `(cond ((and (not (fboundp ,function))
+	       (or (not (stringp
+			 (get ,function 'sysdep-defined-this)))
+		   (and (get ,function 'sysdep-defined-this)
+			(string-lessp
+			 (get ,function 'sysdep-defined-this)
+			 sysdep-potential-version)))
+	       ,def)
+	  (put ,function 'sysdep-defined-this t)
+	  (fset ,function ,def))))
 
 (defmacro sysdep-defalias (function def)
-  (` (cond ((and (not (fboundp (, function)))
-		 (or (not (stringp
-			   (get (, function) 'sysdep-defined-this)))
-		     (and (get (, function) 'sysdep-defined-this)
-			  (string-lessp
-			   (get (, function) 'sysdep-defined-this)
-			   sysdep-potential-version)))
-		 (, def)
-		 (or (listp (, def))
-		     (and (symbolp (, def))
-			  (fboundp (, def)))))
-	    (put (, function) 'sysdep-defined-this t)
-	    (defalias (, function) (, def))))))
+  `(cond ((and (not (fboundp ,function))
+	       (or (not (stringp
+			 (get ,function 'sysdep-defined-this)))
+		   (and (get ,function 'sysdep-defined-this)
+			(string-lessp
+			 (get ,function 'sysdep-defined-this)
+			 sysdep-potential-version)))
+	       ,def
+	       (or (listp ,def)
+		   (and (symbolp ,def)
+			(fboundp ,def))))
+	  (put ,function 'sysdep-defined-this t)
+	  (defalias ,function ,def))))
 
 (sysdep-defvar list-buffers-directory nil)
 (sysdep-defvar x-library-search-path `("/usr/X11R6/lib/X11/"
openSUSE Build Service is sponsored by