freenode/#clim - IRC Chatlog
Search
12:30:34
jackdaniel
there are some provisions to make event queues usable when port is nil (see do-port-force-output)
12:31:08
jackdaniel
question: should we define do-process-next-event, which accepts the port and if non-nil calls process-next-event; or should we define a method process-next-event specialized on null which does nothing?
17:32:58
contrapunctus
I wanted to talk about something interface/Lisp Machine-related...not sure if this is the right place. I'm aware of ##lispm but there seem to be just two people there 🤔
17:42:56
contrapunctus
Well, I was wondering...how could one extend the benefits of the Emacs model into applications which work with data not suited to textual representations?
17:43:26
contrapunctus
Like, it's very cool to be able to use the same commands for navigation, search and editing in (almost) all applications (Emacs extensions). But the text buffer model doesn't work for everything - and even when it does, it's sometimes restrictive.
17:43:40
pjb
contrapunctus: well, indeed, emacs is quite magical, in that it's first purpose is to edit text, so it can be used to edit lisp programs.
17:43:54
pjb
contrapunctus: but this doesn't prevent an emacs to deal mainly with some other kind of data.
17:44:21
pjb
contrapunctus: the only thing, is that you will integrate an editor/lisp IDE to be able to edit lisp code within the application.
17:45:14
pjb
The main data structures are partitions -> notes, but you still use common lisp and an integrated text editor to be able to write code.
17:48:16
pjb
Now, if you consider the emacs key bindings (say the default or usual key bindings, but it's also valid for more mode-specific or custom key bindings), some of them are used to navigate a more or less structured text data structure (pages, paragraphs, sentences, words, characters) or (procedure expression symbol character) etc. This is quite an artificial and mode specific mapping.
17:49:18
pjb
This is obviously mapped to the (basically sequential structure of) partitions, so you can also use those key binding there, but even if you have other kind of data structures, you can use those keys in your keymaps.
17:49:53
pjb
But probably, you will have additionnal key bindings, specific to your data structure (eg. to nagivate a tree or a graph or something else).
17:50:38
pjb
This is specific to the mode, ie. the data structure edited by the mode. Even in emacs, it's not always a sequence such as text. There are modes to edit spreadsheets, databases, trees, graphs, etc.
17:51:29
pjb
Of course, there's always a level where you have to edit sequential text (strings), so you have always this basic text editing mode with its key bindings.
17:52:14
pjb
(eg. you can have to edit the title of a video, or some text incrustations, but you can also have to edit the video itself, so you will have different sub-modes).
18:01:31
jackdaniel
or, to be more precise, emacs is a simplification of the model clim strives to achieve