Next: , Up: Buffer Protocol


18.4.1.1 General Buffer Protocol Parts

— Class: drei-buffer:buffer

Class precedence list: buffer, standard-object, slot-object, t

The base class for all buffers. A buffer conceptually contains a large array of arbitrary objects. Lines of objects are separated by newline characters. The last object of the buffer is not necessarily a newline character.

— Class: drei-buffer:standard-buffer

Class precedence list: standard-buffer, buffer, standard-object, slot-object, t

Slots:

The standard instantiable class for buffers.

— Class: drei-buffer:mark

Class precedence list: mark, standard-object, slot-object, t

The base class for all marks.

— Class: drei-buffer:left-sticky-mark

Class precedence list: left-sticky-mark, mark, standard-object, slot-object, t

A subclass of mark. A mark of this type will "stick" to the left of an object, i.e. when an object is inserted at this mark, the mark will be positioned to the left of the object.

— Class: drei-buffer:right-sticky-mark

Class precedence list: right-sticky-mark, mark, standard-object, slot-object, t

A subclass of mark. A mark of this type will "stick" to the right of an object, i.e. when an object is inserted at this mark, the mark will be positioned to the right of the object.

— Generic Function: drei-buffer:offset mark

Return the offset of the mark into the buffer.

— Generic Function: (setf drei-buffer:offset) new-offset mark

Set the offset of the mark into the buffer. A motion-before-beginning condition is signaled if the offset is less than zero. A motion-after-end condition is signaled if the offset is greater than the size of the buffer.

— Generic Function: drei-buffer:clone-mark mark &optional stick-to

Clone a mark. By default (when stick-to is NIL) the same type of mark is returned. Otherwise stick-to is either :left or :right indicating whether a left-sticky or a right-sticky mark should be created.

— Generic Function: drei-buffer:buffer drei

Return the buffer that the mark is positioned in.

— Condition: drei-buffer:no-such-offset

Class precedence list: no-such-offset, error, serious-condition, condition, slot-object, t

This condition is signaled whenever an attempt is made to access buffer contents that is before the beginning or after the end of the buffer.

— Condition: drei-buffer:offset-before-beginning

Class precedence list: offset-before-beginning, no-such-offset, error, serious-condition, condition, slot-object, t

This condition is signaled whenever an attempt is made to access buffer contents that is before the beginning of the buffer.

— Condition: drei-buffer:offset-after-end

Class precedence list: offset-after-end, no-such-offset, error, serious-condition, condition, slot-object, t

This condition is signaled whenever an attempt is made to access buffer contents that is after the end of the buffer.

— Condition: drei-buffer:invalid-motion

Class precedence list: invalid-motion, error, serious-condition, condition, slot-object, t

This condition is signaled whenever an attempt is made to move a mark before the beginning or after the end of the buffer.

— Condition: drei-buffer:motion-before-beginning

Class precedence list: motion-before-beginning, invalid-motion, error, serious-condition, condition, slot-object, t

This condition is signaled whenever an attempt is made to move a mark before the beginning of the buffer.

— Condition: drei-buffer:motion-after-end

Class precedence list: motion-after-end, invalid-motion, error, serious-condition, condition, slot-object, t

This condition is signaled whenever an attempt is made to move a mark after the end of the buffer.

— Generic Function: drei-buffer:size buffer

Return the number of objects in the buffer.

— Generic Function: drei-buffer:number-of-lines buffer

Return the number of lines of the buffer, or really the number of newline characters.