Module: Relisp

Defined in:
lib/relisp.rb,
lib/relisp/slaves.rb,
lib/relisp/elisp_functions.rb,
lib/relisp/type_conversion.rb,
lib/relisp/type_conversion/editing_types.rb,
lib/relisp/type_conversion/programming_types.rb

Overview

– Copyright © 2009, 2010 Don March

This file is part of Relisp.

Relisp is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Relisp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <www.gnu.org/licenses/>. ++

See the documentation in programming_types.rb.

Elisp editing types as described in the elisp info manual:

Editing Types

Buffer Type::         The basic object of editing.
Marker Type::         A position in a buffer.
Window Type::         Buffers are displayed in windows.
Frame Type::      Windows subdivide frames.
Window Configuration Type::   Recording the way a frame is subdivided.
Frame Configuration Type::    Recording the status of all frames.
Process Type::        A process running on the underlying OS.
Stream Type::         Receive or send characters.
Keymap Type::         What function a keystroke invokes.
Overlay Type::        How an overlay is represented.

There are currently no Relisp classes for frame configurations, streams, and keymaps. Frame configurations and keymaps are just cons with a certain keyword in the car. Streams are markers, buffers, strings, and functions.

Unlike with elisp programming data types, ruby does not translate the editing data types to an equivalent ruby object; instead, the class corresponding to each data type is just a proxy that acts on the original object in elisp.

Defined Under Namespace

Classes: Buffer, Cons, ElispError, ElispSlave, Float, Frame, HashTable, Integer, List, Marker, Overlay, Process, Proxy, RubySlave, Slave, String, Symbol, VariableValue, Vector, Window, WindowConfiguration

Constant Summary collapse

VERSION =
'1.1.1'

Class Method Summary collapse

Class Method Details

.default_slaveObject



28
29
30
# File 'lib/relisp/slaves.rb', line 28

def self.default_slave
  @default_slave
end

.default_slave=(slave) ⇒ Object



32
33
34
35
36
37
# File 'lib/relisp/slaves.rb', line 32

def self.default_slave=(slave)
  unless slave.kind_of?(Slave)
    raise ArgumentError, "#{slave} is not a Slave"
  end
  @default_slave = slave
end