[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Bug: string-match-p does not exist in Emacs 22 [6.36trans (rel
From: |
Bernt Hansen |
Subject: |
[Orgmode] Bug: string-match-p does not exist in Emacs 22 [6.36trans (release_6.36.102.g67b5)] |
Date: |
Mon, 24 May 2010 23:35:55 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen. You don't know how to make a good report? See
http://orgmode.org/manual/Feedback.html#Feedback
Your bug report will be posted to the Org-mode mailing list.
------------------------------------------------------------------------
Commit 7831cb788504d4b44221f4a898b6cabaaed4c422 introduced a check using
string-match-p which fails in Emacs 22.
I'm trying to publish my org-mode document update and get the following
stack dump
-Bernt
Debugger entered--Lisp error: (void-function string-match-p)
(string-match-p "^//" str)
(and type (string-match-p "^//" str))
(if (and type (string-match-p "^//" str)) (concat type ":" str) str)
(let ((str ...)) (if (and type ...) (concat type ":" str) str))
(setq thefile (let (...) (if ... ... str)))
(let* ((filename path) (components-1 ...) (components-2 ...) (type ...)
(thefile ...)) (cond (... ...) (t)) (setq thefile (let ... ...)) (if (and
may-inline-p ...) (progn ... ...) (concat "<a href=\"" thefile "\"" attr ">"
... "</a>")))
(progn (let* (... ... ... ... ...) (cond ... ...) (setq thefile ...) (if ...
... ...)))
(unwind-protect (progn (let* ... ... ... ...)) (set-match-data
save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal ...)) (unwind-protect (progn ...)
(set-match-data save-match-data-internal ...)))
(save-match-data (let* (... ... ... ... ...) (cond ... ...) (setq thefile
...) (if ... ... ...)))
org-html-make-link((:latex-image-options "width=10em" :exclude-tags
("noexport") :select-tags ("export") :email "address@hidden" :author "Bernt
Hansen" :auto-postamble t :auto-preamble t :postamble nil :preamble nil
:publishing-directory "/ssh:address@hidden:~/doc.norang.ca/htdocs" :timestamp
nil :expand-quoted-html t :html-table-tag "<table border=\"2\"
cellspacing=\"0\" cellpadding=\"6\" rules=\"groups\" frame=\"hsides\">"
:xml-declaration (("html" . "<?xml version=\"1.0\" encoding=\"%s\"?>") ("php" .
"<?php echo \"<?xml version=\\\"1.0\\\" encoding=\\\"%s\\\" ?>\"; ?>"))
:html-extension "html" :inline-images t :convert-org-links t :agenda-style ""
:style-extra "<link rel=\"stylesheet\" href=\"http://doc.norang.ca/org.css\"
type=\"text/css\" />" :style "<link rel=\"stylesheet\" href=\"/org.css\"
type=\"text/css\" />" :style-include-scripts t :style-include-default nil
:table-auto-headline t :tables t :time-stamp-file t ...) "file"
#("cat5_7956760a6b96bf17f5fb7bbb048d0b1645831aa7.png" 0 4 (org-attr nil face
org-link org-label nil org-attributes nil org-caption nil font-lock-fontified t
fontified t org-protected t org-no-description t) 4 40 (org-attr nil face
org-link org-label nil org-attributes nil org-caption nil org-protected t
org-no-description t) 40 46 (org-attr nil face org-link org-label nil
org-attributes nil org-caption nil org-protected t org-no-description t) 46 49
(org-attr nil face org-link org-label nil org-attributes nil org-caption nil
font-lock-fontified t fontified t org-protected t org-no-description t)) nil
#("cat5_7956760a6b96bf17f5fb7bbb048d0b1645831aa7.png" 0 4 (face org-link
fontified t font-lock-fontified t org-caption nil org-attributes nil org-label
nil) 4 40 (face org-link org-caption nil org-attributes nil org-label nil) 40
46 (face org-link org-caption nil org-attributes nil org-label nil) 46 49 (face
org-link fontified t font-lock-fontified t org-caption nil org-attributes nil
org-label nil)) nil 45)
(if (and (functionp link-validate) (not ...)) desc (org-html-make-link
opt-plist "file" path-1 fragment-1 desc-2 attr (org-html-should-inline-p path-1
descp)))
(setq rpl (if (and ... ...) desc (org-html-make-link opt-plist "file" path-1
fragment-1 desc-2 attr ...)))
(let* ((components ...) (path-1 ...) (fragment-0 ...) (fragment-1 ...)
(desc-2 ...)) (setq rpl (if ... desc ...)))
(progn (let* (... ... ... ... ...) (setq rpl ...)))
(unwind-protect (progn (let* ... ...)) (set-match-data
save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal ...)) (unwind-protect (progn ...)
(set-match-data save-match-data-internal ...)))
(save-match-data (let* (... ... ... ... ...) (setq rpl ...)))
(cond ((equal type "internal") (let ... ...)) ((and ... ...) (save-match-data
... ...)) ((member type ...) (setq rpl ...)) ((member type ...) (setq rpl ...))
((string= type "coderef") (let* ... ...)) ((functionp ...) (setq rpl ...))
((string= type "file") (save-match-data ...)) (t (setq rpl ...)))
(while (string-match org-bracket-link-analytic-regexp++ line start) (setq
start (match-beginning 0)) (setq path (save-match-data ...)) (setq type (cond
... ... ...)) (setq path (org-extract-attributes ...)) (setq attr
(get-text-property 0 ... path)) (setq desc1 (if ... ...) desc2 (if ... ...
path) descp (and desc1 ...) desc (or desc1 desc2)) (cond (... ...) (... ...)
(... ...) (... ...) (... ...) (... ...) (... ...) (t ...)) (setq line
(replace-match rpl t t line) start (+ start ...)))
(catch (quote nextline) (when (and inquote ...) (insert "</pre>\n")
(org-open-par) (setq inquote nil)) (when inquote (insert ... "\n") (throw ...
nil)) (when (and org-export-with-fixed-width ...) (when ... ... ... ...)
(insert ... "\n") (when ... ... ... ...) (throw ... nil))
(org-export-html-close-lists-maybe line) (when (get-text-property 0 ... line)
(let ... ... ... ... ...) (throw ... nil)) (when (equal "ORG-BLOCKQUOTE-START"
line) (org-close-par-maybe) (insert "<blockquote>\n") (org-open-par) (throw ...
nil)) (when (equal "ORG-BLOCKQUOTE-END" line) (org-close-par-maybe) (insert
"\n</blockquote>\n") (org-open-par) (throw ... nil)) (when (equal
"ORG-VERSE-START" line) (org-close-par-maybe) (insert "\n<p
class=\"verse\">\n") (setq org-par-open t) (setq inverse t) (throw ... nil))
(when (equal "ORG-VERSE-END" line) (insert "</p>\n") (setq org-par-open nil)
(org-open-par) (setq inverse nil) (throw ... nil)) (when (equal
"ORG-CENTER-START" line) (org-close-par-maybe) (insert "\n<div
style=\"text-align: center\">") (org-open-par) (throw ... nil)) (when (equal
"ORG-CENTER-END" line) (org-close-par-maybe) (insert "\n</div>") (org-open-par)
(throw ... nil)) (run-hooks (quote org-export-html-after-blockquotes-hook))
(when inverse (let ... ... ...)) (setq start 0) (while (string-match
"<<<?\\([^<>]*\\)>>>?\\((INVISIBLE)\\)?[ ]*\n?" line start) (cond ... ... ...
...)) (setq line (org-html-handle-time-stamps line)) (or (string-match
org-table-hline-regexp line) (setq line ...)) (setq start 0) (while
(string-match org-bracket-link-analytic-regexp++ line start) (setq start ...)
(setq path ...) (setq type ...) (setq path ...) (setq attr ...) (setq desc1 ...
desc2 ... descp ... desc ...) (cond ... ... ... ... ... ... ... ...) (setq line
... start ...)) (if (and ... ...) (setq line ...)) (when
org-export-with-footnotes (setq start 0) (while ... ...)) (cond (... ... ...
... ... ... ... ...) (... ... ...) (... ... ... ...) (t ... ... ... ... ... ...
...)))
(while (setq line (pop lines) origline line) (catch (quote nextline) (when
... ... ... ...) (when inquote ... ...) (when ... ... ... ... ...)
(org-export-html-close-lists-maybe line) (when ... ... ...) (when ... ... ...
... ...) (when ... ... ... ... ...) (when ... ... ... ... ... ...) (when ...
... ... ... ... ...) (when ... ... ... ... ...) (when ... ... ... ... ...)
(run-hooks ...) (when inverse ...) (setq start 0) (while ... ...) (setq line
...) (or ... ...) (setq start 0) (while ... ... ... ... ... ... ... ... ...)
(if ... ...) (when org-export-with-footnotes ... ...) (cond ... ... ... ...)))
(let ((case-fold-search nil) (org-odd-levels-only odd)) (mapc (lambda ...
...) org-export-plist-vars) (setq umax (if arg ... org-export-headline-levels))
(setq umax-toc (if ... ... umax)) (unless body-only (insert ...)
(org-export-html-insert-plist-item opt-plist :preamble opt-plist) (when ...
...)) (if (and org-export-with-toc ...) (progn ... ... ... ... ... ... ...))
(setq head-count 0) (org-init-section-numbers) (org-open-par) (while (setq line
... origline line) (catch ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ...)) (when inquote (insert "</pre>\n")
(org-open-par)) (when in-local-list (while local-list-type ... ... ...) (setq
local-list-indent nil in-local-list nil)) (org-html-level-start 1 nil umax (and
org-export-with-toc ...) head-count) (when (and ... first-heading-pos) (insert
"</div>\n")) (save-excursion (goto-char ...) (while ... ... ...)) (when
footnotes (insert ... "\n")) (let (...) (when bib ...)) (unless body-only (when
... ... ... ... ... ... ...) (if org-export-html-with-timestamp ...)
(org-export-html-insert-plist-item opt-plist :postamble opt-plist) (insert
"\n</div>\n</body>\n</html>\n")) (unless (plist-get opt-plist
:buffer-will-be-killed) (normal-mode) (if ... ...)) (goto-char (point-min))
(when thetoc (if ... ... ... ...) (insert "<div id=\"table-of-contents\">\n")
(mapc ... thetoc) (insert "</div>\n")) (goto-char (point-min)) (while
(re-search-forward "<p>[
\n ]*</p>" nil t) (replace-match "")) (goto-char (point-min)) (while
(re-search-forward "<li>[
\n ]*</li>\n?" nil t) (replace-match "")) (goto-char (point-min)) (while
(re-search-forward "</ul>\\s-*<ul>\n?" nil t) (replace-match "")) (goto-char
(point-min)) (let (beg end n) (while ... ... ... ... ...)) (goto-char
(point-min)) (when (looking-at "\\s-+\n") (replace-match ""))
(remove-text-properties (point-min) (point-max) (quote ...)) (run-hooks (quote
org-export-html-final-hook)) (or to-buffer (save-buffer)) (goto-char
(point-min)) (or (org-export-push-to-kill-ring "HTML") (message "Exporting...
done")) (if (eq to-buffer ...) (prog1 ... ...) (current-buffer)))
(let* ((opt-plist ...) (body-only ...) (style ...) (html-extension ...)
(link-validate ...) valid thetoc have-headings first-heading-pos (odd
org-odd-levels-only) (region-p ...) (rbeg ...) (rend ...) (subtree-p ...)
(level-offset ...) (opt-plist ...) (org-current-export-dir ...)
(org-current-export-file buffer-file-name) (level 0) (line "") (origline "")
txt todo (umax nil) (umax-toc nil) (filename ...) (current-dir ...) (buffer
...) (org-levels-open ...) (date ...) (author ...) (title ...) (link-up ...)
(link-home ...) (dummy ...) (html-table-tag ...) (quote-re0 ...) (quote-re ...)
(inquote nil) (infixed nil) (inverse nil) (in-local-list nil) (local-list-type
nil) (local-list-indent nil) (llt org-plain-list-ordered-item-terminator)
(email ...) (language ...) (keywords ...) (description ...) (lang-words nil)
...) (let (...) (org-unmodified ...)) (message "Exporting...") (setq
org-min-level (org-get-min-level lines level-offset)) (setq org-last-level
org-min-level) (org-init-section-numbers) (cond (... ...) (date) (t ...)) (setq
lang-words (or ... ...)) (set-buffer buffer) (let (...) (erase-buffer))
(fundamental-mode) (org-install-letbind) (and (fboundp ...)
(set-buffer-file-coding-system coding-system-for-write)) (let (... ...) (mapc
... org-export-plist-vars) (setq umax ...) (setq umax-toc ...) (unless
body-only ... ... ...) (if ... ...) (setq head-count 0)
(org-init-section-numbers) (org-open-par) (while ... ...) (when inquote ...
...) (when in-local-list ... ...) (org-html-level-start 1 nil umax ...
head-count) (when ... ...) (save-excursion ... ...) (when footnotes ...) (let
... ...) (unless body-only ... ... ... ...) (unless ... ... ...) (goto-char
...) (when thetoc ... ... ... ...) (goto-char ...) (while ... ...) (goto-char
...) (while ... ...) (goto-char ...) (while ... ...) (goto-char ...) (let ...
...) (goto-char ...) (when ... ...) (remove-text-properties ... ... ...)
(run-hooks ...) (or to-buffer ...) (goto-char ...) (or ... ...) (if ... ...
...)))
org-export-as-html(nil nil (:buffer-will-be-killed t :base-directory
"~/git/doc.norang.ca/" :publishing-directory
"/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t :section_numbers nil
:table-of-contents nil :base-extension "org" :publishing-function
(org-publish-org-to-html org-publish-org-to-org) :plain-source t
:htmlized-source t :style-include-default nil :style "<link rel=\"stylesheet\"
href=\"/org.css\" type=\"text/css\" />" :author-info nil :creator-info nil) nil
nil "/ssh:address@hidden:/var/www/doc.norang.ca/htdocs/")
funcall(org-export-as-html nil nil (:buffer-will-be-killed t :base-directory
"~/git/doc.norang.ca/" :publishing-directory
"/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t :section_numbers nil
:table-of-contents nil :base-extension "org" :publishing-function
(org-publish-org-to-html org-publish-org-to-org) :plain-source t
:htmlized-source t :style-include-default nil :style "<link rel=\"stylesheet\"
href=\"/org.css\" type=\"text/css\" />" :author-info nil :creator-info nil) nil
nil "/ssh:address@hidden:/var/www/doc.norang.ca/htdocs/")
(setq export-buf-or-file (funcall (intern ...) (plist-get plist
:headline-levels) nil plist nil nil pub-dir))
(let* ((plist ...) (init-buf ...) (init-point ...) (init-buf-string ...)
export-buf-or-file) (run-hooks (quote org-publish-before-export-hook)) (setq
export-buf-or-file (funcall ... ... nil plist nil nil pub-dir)) (when (and ...
...) (set-buffer export-buf-or-file) (progn ... ...) (kill-buffer
export-buf-or-file)) (set-buffer init-buf) (when (buffer-modified-p init-buf)
(erase-buffer) (insert init-buf-string) (save-buffer) (goto-char init-point))
(unless visiting (kill-buffer init-buf)))
(save-excursion (switch-to-buffer (or visiting ...)) (let* (... ... ... ...
export-buf-or-file) (run-hooks ...) (setq export-buf-or-file ...) (when ... ...
... ...) (set-buffer init-buf) (when ... ... ... ... ...) (unless visiting
...)))
(let ((visiting ...)) (save-excursion (switch-to-buffer ...) (let* ... ...
... ... ... ... ...)))
org-publish-org-to("html" (:base-directory "~/git/doc.norang.ca/"
:publishing-directory "/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t
:section_numbers nil :table-of-contents nil :base-extension "org"
:publishing-function (org-publish-org-to-html org-publish-org-to-org)
:plain-source t :htmlized-source t :style-include-default nil :style "<link
rel=\"stylesheet\" href=\"/org.css\" type=\"text/css\" />" :author-info nil
:creator-info nil) "/home/bernt/git/doc.norang.ca/wiring.org"
"/ssh:address@hidden:/var/www/doc.norang.ca/htdocs/")
(let ((org-export-preprocess-after-headline-targets-hook ...))
(org-publish-org-to "html" plist filename pub-dir))
(org-publish-with-aux-preprocess-maybe (org-publish-org-to "html" plist
filename pub-dir))
org-publish-org-to-html((:base-directory "~/git/doc.norang.ca/"
:publishing-directory "/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t
:section_numbers nil :table-of-contents nil :base-extension "org"
:publishing-function (org-publish-org-to-html org-publish-org-to-org)
:plain-source t :htmlized-source t :style-include-default nil :style "<link
rel=\"stylesheet\" href=\"/org.css\" type=\"text/css\" />" :author-info nil
:creator-info nil) "/home/bernt/git/doc.norang.ca/wiring.org"
"/ssh:address@hidden:/var/www/doc.norang.ca/htdocs/")
funcall(org-publish-org-to-html (:base-directory "~/git/doc.norang.ca/"
:publishing-directory "/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t
:section_numbers nil :table-of-contents nil :base-extension "org"
:publishing-function (org-publish-org-to-html org-publish-org-to-org)
:plain-source t :htmlized-source t :style-include-default nil :style "<link
rel=\"stylesheet\" href=\"/org.css\" type=\"text/css\" />" :author-info nil
:creator-info nil) "/home/bernt/git/doc.norang.ca/wiring.org"
"/ssh:address@hidden:/var/www/doc.norang.ca/htdocs/")
(progn (funcall f project-plist filename tmp-pub-dir)
(org-publish-update-timestamp filename pub-dir f))
(if (org-publish-needed-p filename pub-dir f tmp-pub-dir) (progn (funcall f
project-plist filename tmp-pub-dir) (org-publish-update-timestamp filename
pub-dir f)))
(when (org-publish-needed-p filename pub-dir f tmp-pub-dir) (funcall f
project-plist filename tmp-pub-dir) (org-publish-update-timestamp filename
pub-dir f))
(lambda (f) (when (org-publish-needed-p filename pub-dir f tmp-pub-dir)
(funcall f project-plist filename tmp-pub-dir) (org-publish-update-timestamp
filename pub-dir f)))(org-publish-org-to-html)
mapc((lambda (f) (when (org-publish-needed-p filename pub-dir f tmp-pub-dir)
(funcall f project-plist filename tmp-pub-dir) (org-publish-update-timestamp
filename pub-dir f))) (org-publish-org-to-html org-publish-org-to-org))
(if (listp publishing-function) (mapc (lambda ... ...) publishing-function)
(when (org-publish-needed-p filename pub-dir publishing-function tmp-pub-dir)
(funcall publishing-function project-plist filename tmp-pub-dir)
(org-publish-update-timestamp filename pub-dir publishing-function)))
(let* ((project ...) (project-plist ...) (ftname ...) (publishing-function
...) (base-dir ...) (pub-dir ...) tmp-pub-dir) (unless no-cache
(org-publish-initialize-cache ...)) (setq tmp-pub-dir (file-name-directory
...)) (if (listp publishing-function) (mapc ... publishing-function) (when ...
... ...)) (unless no-cache (org-publish-write-cache-file)))
org-publish-file("/home/bernt/git/doc.norang.ca/wiring.org" ("doc-org"
:base-directory "~/git/doc.norang.ca/" :publishing-directory
"/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t :section_numbers nil
:table-of-contents nil :base-extension "org" :publishing-function
(org-publish-org-to-html org-publish-org-to-org) :plain-source t
:htmlized-source t :style-include-default nil :style "<link rel=\"stylesheet\"
href=\"/org.css\" type=\"text/css\" />" :author-info nil :creator-info nil) t)
(while (setq file (pop files)) (org-publish-file file project t))
(let* ((project-plist ...) (exclude-regexp ...) (sitemap-p ...)
(sitemap-filename ...) (sitemap-function ...) (preparation-function ...)
(completion-function ...) (files ...) file) (when preparation-function
(run-hooks ...)) (if sitemap-p (funcall sitemap-function project
sitemap-filename)) (while (setq file ...) (org-publish-file file project t))
(when (plist-get project-plist :makeindex)
(org-publish-index-generate-theindex\.inc ...) (org-publish-file ... project
t)) (when completion-function (run-hooks ...)) (org-publish-write-cache-file))
(lambda (project) (org-publish-initialize-cache (car project)) (let* (... ...
... ... ... ... ... ... file) (when preparation-function ...) (if sitemap-p
...) (while ... ...) (when ... ... ...) (when completion-function ...)
(org-publish-write-cache-file)))(("doc-org" :base-directory
"~/git/doc.norang.ca/" :publishing-directory
"/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t :section_numbers nil
:table-of-contents nil :base-extension "org" :publishing-function
(org-publish-org-to-html org-publish-org-to-org) :plain-source t
:htmlized-source t :style-include-default nil :style "<link rel=\"stylesheet\"
href=\"/org.css\" type=\"text/css\" />" :author-info nil :creator-info nil))
mapc((lambda (project) (org-publish-initialize-cache (car project)) (let*
(... ... ... ... ... ... ... ... file) (when preparation-function ...) (if
sitemap-p ...) (while ... ...) (when ... ... ...) (when completion-function
...) (org-publish-write-cache-file))) (("doc-org" :base-directory
"~/git/doc.norang.ca/" :publishing-directory
"/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t :section_numbers nil
:table-of-contents nil :base-extension "org" :publishing-function
(org-publish-org-to-html org-publish-org-to-org) :plain-source t
:htmlized-source t :style-include-default nil :style "<link rel=\"stylesheet\"
href=\"/org.css\" type=\"text/css\" />" :author-info nil :creator-info nil)
("doc-extra" :base-directory "~/git/doc.norang.ca/" :publishing-directory
"/ssh:address@hidden:~/doc.norang.ca/htdocs" :base-extension
"css\\|pdf\\|png\\|jpg\\|gif" :publishing-function org-publish-attachment
:recursive t :author nil) ("doc-org-mode" :base-directory "~/git/org-mode-doc/"
:publishing-directory "/ssh:address@hidden:~/doc.norang.ca/htdocs" :recursive t
:section_numbers nil :table-of-contents nil :base-extension "org"
:publishing-function (org-publish-org-to-html org-publish-org-to-org)
:plain-source t :htmlized-source t :style-include-default nil :style "<link
rel=\"stylesheet\" href=\"/org.css\" type=\"text/css\" />" :author-info nil
:creator-info nil) ("doc-org-mode-extra" :base-directory "~/git/org-mode-doc/"
:publishing-directory "/ssh:address@hidden:~/doc.norang.ca/htdocs"
:base-extension "css\\|pdf\\|png\\|jpg\\|gif" :publishing-function
org-publish-attachment :recursive t :author nil)))
org-publish-projects((("doc" :components ("doc-org" "doc-extra"
"doc-org-mode" "doc-org-mode-extra"))))
(let* ((org-publish-use-timestamps-flag ...)) (org-publish-projects (list
project)))
(save-window-excursion (let* (...) (org-publish-projects ...)))
org-publish(("doc" :components ("doc-org" "doc-extra" "doc-org-mode"
"doc-org-mode-extra")))
(let ((project ...) (org-publish-use-timestamps-flag ...)) (if (not project)
(error "File %s is not part of any known project" ...)) (org-publish project))
(save-window-excursion (let (... ...) (if ... ...) (org-publish project)))
org-publish-current-project()
bh/save-then-publish()
call-interactively(bh/save-then-publish)
Emacs : GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11)
of 2008-11-09 on raven, modified by Debian
Package: Org-mode version 6.36trans (release_6.36.102.g67b5)
- [Orgmode] Bug: string-match-p does not exist in Emacs 22 [6.36trans (release_6.36.102.g67b5)],
Bernt Hansen <=