comparison lisp/psgml/psgml-info.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-info.el 1 ;;;; psgml-info.el
2 ;;; Last edited: Mon Aug 7 23:00:54 1995 by lenst@katja.lysator.liu.se (Lennart Staflin) 2 ;;; Last edited: Wed Mar 20 21:24:16 1996 by lenst@triton.lstaflin.pp.se (Lennart Staflin)
3 ;;; $Id: psgml-info.el,v 1.1.1.1 1996/12/18 03:35:21 steve Exp $ 3 ;;; $Id: psgml-info.el,v 1.1.1.2 1996/12/18 03:47:14 steve Exp $
4 4
5 ;; Copyright (C) 1994, 1995 Lennart Staflin 5 ;; Copyright (C) 1994, 1995 Lennart Staflin
6 6
7 ;; Author: Lennart Staflin <lenst@lysator.liu.se> 7 ;; Author: Lennart Staflin <lenst@lysator.liu.se>
8 8
95 do 95 do
96 (pushnew (sgml-move-token m) res) 96 (pushnew (sgml-move-token m) res)
97 (sgml-add-last-unique (sgml-move-dest m) states))) 97 (sgml-add-last-unique (sgml-move-dest m) states)))
98 98
99 (t ; &-node 99 (t ; &-node
100 (sgml-add-last-unique (sgml-&node-next (car agenda)) states) 100 (sgml-add-last-unique (sgml-and-node-next (car agenda)) states)
101 (loop for dfa in (sgml-&node-dfas (car agenda)) do 101 (loop for dfa in (sgml-and-node-dfas (car agenda)) do
102 (sgml-add-last-unique dfa states)))) 102 (sgml-add-last-unique dfa states))))
103 (setq agenda (cdr agenda))) 103 (setq agenda (cdr agenda)))
104 (setq res (sort (set-difference
105 (union res (sgml-eltype-includes eltype))
106 (sgml-eltype-excludes eltype))
107 (function string-lessp)))
104 (setf (sgml-eltype-appdata eltype 're-cache) res) 108 (setf (sgml-eltype-appdata eltype 're-cache) res)
105 res))))) 109 res)))))
106 110
107 111
108 ;;;; List elements 112 ;;;; List elements
343 (let ((s (sgml-eltype-shortmap et))) 347 (let ((s (sgml-eltype-shortmap et)))
344 (when s 348 (when s
345 (princ (format "\nUSEMAP: %s\n" s)))) 349 (princ (format "\nUSEMAP: %s\n" s))))
346 ;; ---- 350 ;; ----
347 (princ "\nOCCURS IN:\n\n") 351 (princ "\nOCCURS IN:\n\n")
348 (sgml-map-eltypes 352 (let ((occurs-in ()))
349 (function (lambda (cand) 353 (sgml-map-eltypes
350 (when (memq et (sgml-eltype-refrenced-elements cand)) 354 (function (lambda (cand)
351 (princ (format " %s" (sgml-eltype-name cand)))))) 355 (when (memq et (sgml-eltype-refrenced-elements cand))
352 (sgml-pstate-dtd sgml-buffer-parse-state))))) 356 (push cand occurs-in))))
357 (sgml-pstate-dtd sgml-buffer-parse-state))
358
359 (loop with col = 0
360 for occur-et in (sort occurs-in (function string-lessp))
361 for name = (sgml-eltype-name occur-et)
362 do
363 (when (and (> col 0) (> (+ col (length name) 1) fill-column))
364 (princ "\n")
365 (setq col 0))
366 (princ " ") (princ name)
367 (incf col (length name))
368 (incf col 1))))))
353 369
354 370
355 ;;;; Print general info about the DTD. 371 ;;;; Print general info about the DTD.
356 372
357 (defun sgml-general-dtd-info () 373 (defun sgml-general-dtd-info ()