This file is indexed.

/usr/share/common-lisp/source/lml2/base.lisp is in cl-lml2 1.6.6-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
;;;; Name:          base.lisp
;;;; Purpose:       Lisp Markup Language functions
;;;; Programmer:    Kevin M. Rosenberg
;;;; Date Started:  Aug 2002
;;;;
;;;; $Id$
;;;;
;;;; This file, part of LML2, is Copyright (c) 2000-2003 by Kevin Rosenberg.
;;;; Rights of modification and redistribution are in the LICENSE file.
;;;;
;;;; *************************************************************************

(in-package #:lml2)


(defun lml-format (str &rest args)
  (when (streamp *html-stream*)
    (if args
        (apply #'format *html-stream* str args)
        (write-string str *html-stream*))))

(defun lml-princ (s)
  (princ s *html-stream*))

(defun lml-print (s)
  (format *html-stream* "~A~%" s))

(defun lml-write-char (char)
  (write-char char *html-stream*))

(defun lml-write-string (str)
  (write-string str *html-stream*))

(defun lml-print-date (date)
  (lml-write-string (date-string date)))

(defun xml-header-stream (stream &key (version "1.0") (standalone :unspecified)
                   (encoding :unspecified))
  (format stream "<?xml version=\"~A\"~A~A ?>"
          version
          (if (eq standalone :unspecified)
              ""
              (format nil " standalone=\"~A\"" standalone))
          (if (eq encoding :unspecified)
              ""
              (format nil " encoding=\"~A\"" encoding))))

(defun dtd-prologue (&optional (format :xhtml11) (encoding :iso-8859-1) &key entities)
  (ecase format
    ((:xhtml :xhtml11 :xhtml10-strict :xhtml10-transitional :xhtml10-frameset :xml)
     (lml-write-string +xml-prologue-begin+)
     (ecase encoding
       (:iso-8859-1
        (lml-write-string "iso-8859-1"))
       (:utf-8
        (lml-write-string "UTF-8")))
     (lml-write-string +xml-prologue-end+)
     (lml-write-char #\newline)
     (case format
       ((:xhtml11 :xhtml)
        (lml-write-string +xhtml11-dtd-string+))
       (:xhtml10-strict
        (lml-write-string +xhtml10-strict-dtd-string+))
       (:xhtml10-transitional
        (lml-write-string +xhtml10-transitional-dtd-string+))
       (:xhtml10-frameset
        (lml-write-string +xhtml10-frameset-dtd-string+)))
     (when entities
       (lml-write-char #\space)
       (lml-write-char #\[)
       (lml-write-char #\Newline)
       (lml-write-string entities)
       (lml-write-char #\Newline)
       (lml-write-char #\]))
     (lml-write-char #\>))
    (:html
     (lml-write-string +html4-dtd-string+)))
  (lml-write-char #\newline))


(defmacro html-file-page ((out-file &key (format :xhtml11))
                          &body body)
  `(with-open-file (*html-stream*
                    (lml-file-name ',out-file :output)
                    :direction :output
                    :if-exists :supersede)
     (dtd-prologue ,format)
     (html
      ((:html :xmlns "http://www.w3.org/1999/xhtml")
       ,@body))))


(defmacro alink (url desc)
  `(html
    ((:a :href ,url) ,desc)))

(defmacro alink-c (class url desc)
  `(html
    ((:a :class ,class :href ,url) ,desc)))