The cl-case-control Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-case-control Reference Manual

This is the cl-case-control Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:30:49 2022 GMT+0.

Table of Contents


1 Introduction

cl-case-control

This package supports case-controlling in both "starndard" case-insensitive environment and "extended" case-sensitive environment.

Note that the ANSI Common Lisp is a case-sensitive language about symbol names.

(intern "AbC") ; => |AbC|
(symbol-name '|AbC|) ; => "AbC"

The term "case-insensitive" here is not for those "barrier" symbols but for "non-barrier" symbols on some extended CL implementations s.t. GNU CLISP.

(in-package :cs-common-lisp-user)
(intern "Abc") ; => Abc
(symbol-name 'Abc) ; => "Abc"
(in-package :common-lisp-user)
(symbol-name 'Abc) ; => "ABC"
(symbol-name 'ABC) ; => "ABC"

Those differences between standard "case-insensitive" mode and extended "case-sensitive" modes cause some troubles at coding.

This package is a helper for solving such problems.

APIs:

general-purpose predicates:

general-purpose converters:

predicates for system/package case sensitiveness:

utilities to unify codes in both case-sensitive environment and case-insensitive environment:

History

License:

Under MIT license.


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-case-control

Supporting case-controlling

Maintainer

SUZUKI Shingo

Author

SUZUKI Shingo

License

MIT

Version

0.1.0

Dependency

trivial-types (system).

Source

cl-case-control.asd.

Child Component

case-control.lisp (file).


3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


3.1.1 cl-case-control/cl-case-control.asd

Source

cl-case-control.asd.

Parent Component

cl-case-control (system).

ASDF Systems

cl-case-control.

Packages

cl-case-control-asd.


3.1.2 cl-case-control/case-control.lisp

Source

cl-case-control.asd.

Parent Component

cl-case-control (system).

Packages

cl-case-control.

Public Interface
Internals

case-inverted-package-p (function).


4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 cl-case-control

Source

case-control.lisp.

Nicknames
  • casectl
  • cl-casectl
  • case-control
Use List

common-lisp.

Public Interface
Internals

case-inverted-package-p (function).


Previous: , Up: Packages   [Contents][Index]

4.2 cl-case-control-asd

Source

cl-case-control.asd.

Use List
  • asdf/interface.
  • common-lisp.

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


5.1.1 Macros

Macro: case-selective-defpackage (pname case-p &rest params)
Package

cl-case-control.

Source

case-control.lisp.


Previous: , Up: Public Interface   [Contents][Index]

5.1.2 Ordinary functions

Function: adj-case (str &optional pkg)
Package

cl-case-control.

Source

case-control.lisp.

Function: case-selective-intern (str &optional pkg)

CASE-SELECTIVE-INTERN is a alternative INTERN for CL implementations which have "modern" case-sensitivess feature.
CASE-SELECTIVE-INTERN interns given string into given package (or current package) with or without case conversion.

When given package is a case-insensitive package, CASE-SELECTIVE-INTERN interns given string with STRING-UPCASE.
When given package is a case-sensitive package, CASE-SELECTIVE-INTERN interns given string. Case of characters on the given string is left as is.

Note: you should use CL:INTERN if you want to intern into case-insensitive package without case conversion.

Package

cl-case-control.

Source

case-control.lisp.

Function: case-sensitive-p ()
Package

cl-case-control.

Source

case-control.lisp.

Function: case-sensitive-package-p (&optional pkg)
Package

cl-case-control.

Source

case-control.lisp.

Function: char-invertcase (c)

Invert case of given character.
Note: CHAR-INVERTCASE function DOES NOT assume given character is an ASCII character.

Package

cl-case-control.

Source

case-control.lisp.

Function: lowercase-char-p (c)

Predicate for lowercase character.
Note: LOWERCASE-CHAR-P function DOES NOT assume given character is an ASCII character.

Package

cl-case-control.

Source

case-control.lisp.

Function: string-designator-p (obj)
Package

cl-case-control.

Source

case-control.lisp.

Function: string-invertcase (obj)
Package

cl-case-control.

Source

case-control.lisp.

Function: uppercase-char-p (c)

Predicate for uppercase character.
Note: UPPERCASE-CHAR-P function DOES NOT assume given character is an ASCII character.

Package

cl-case-control.

Source

case-control.lisp.


5.2 Internals


Previous: , Up: Internals   [Contents][Index]

5.2.1 Ordinary functions

Function: case-inverted-package-p (&optional pkg)
Package

cl-case-control.

Source

case-control.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables