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/"