comparison lisp/psgml/psgml-api.el @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents 376386a54a3c
children 131b0175ea99
comparison
equal deleted inserted replaced
1:c0c6a60d29db 2:ac2d302a0011
1 ;;; psgml-api.el --- Extra API functions for PSGML 1 ;;; psgml-api.el --- Extra API functions for PSGML
2 ;; $Id: psgml-api.el,v 1.1.1.1 1996/12/18 03:35:18 steve Exp $ 2 ;; $Id: psgml-api.el,v 1.1.1.2 1996/12/18 03:47:13 steve Exp $
3 3
4 ;; Copyright (C) 1994 Lennart Staflin 4 ;; Copyright (C) 1994 Lennart Staflin
5 5
6 ;; Author: Lennart Staflin <lenst@lysator.liu.se> 6 ;; Author: Lennart Staflin <lenst@lysator.liu.se>
7 7
68 "Map content of ELEMENT, calling ELEMENT-FUN for every element. 68 "Map content of ELEMENT, calling ELEMENT-FUN for every element.
69 Also calling DATA-FUN, if non-nil, with data in content." 69 Also calling DATA-FUN, if non-nil, with data in content."
70 (sgml-pop-all-entities) 70 (sgml-pop-all-entities)
71 (sgml-need-dtd) 71 (sgml-need-dtd)
72 (sgml-element-end element) ; Make sure all content is parsed 72 (sgml-element-end element) ; Make sure all content is parsed
73 (save-excursion 73 (let ((main-buffer-max (point-max)))
74 (sgml-set-parse-state element 'start) 74 (save-excursion
75 (when (eobp) (sgml-pop-entity)) 75 (sgml-set-parse-state element 'start)
76 (when (eolp) (forward-char 1)) 76 (when (eobp) (sgml-pop-entity))
77 (sgml-parse-data (point-max) data-fun pi-fun entity-fun) 77 (when (eolp) (forward-char 1))
78 (let ((c (sgml-tree-content element))) 78 (sgml-parse-data main-buffer-max data-fun pi-fun entity-fun)
79 (while c 79 (let ((c (sgml-tree-content element)))
80 (sgml-pop-all-entities) 80 (while c
81 (funcall element-fun c) 81 (sgml-pop-all-entities)
82 (sgml-set-parse-state c 'after) 82 (funcall element-fun c)
83 (sgml-parse-data (point-max) data-fun pi-fun entity-fun) 83 (sgml-set-parse-state c 'after)
84 (setq c (sgml-tree-next c))))) 84 (sgml-parse-data main-buffer-max data-fun pi-fun entity-fun)
85 (setq c (sgml-tree-next c)))))
86 )
85 (sgml-pop-all-entities)) 87 (sgml-pop-all-entities))
86 88
87 (defun sgml-parse-data (sgml-goal sgml-data-function sgml-pi-function 89 (defun sgml-parse-data (sgml-goal sgml-data-function sgml-pi-function
88 sgml-entity-function) 90 sgml-entity-function)
89 (let ((sgml-throw-on-element-change 'el-done)) 91 (let ((sgml-throw-on-element-change 'el-done))