right; i said something to this effect in my message. but
mswindows-send-sys-command is not a general mechanism; it's an ad-hoc
solution specifically for minimizing/maximizing, and only sends one
type of message (WM_COMMAND) and even then doesn't let you do it
generally (i think).
On 5/23/06, Stephen J. Turnbull <stephen(a)xemacs.org> wrote:
>>>>> "Ben" == Ben Wing
<benwing666(a)gmail.com> writes:
Ben> i'd kind of rather not have [a layered API with generic and
Ben> low-level functions]; once something is exposed to lisp it
Ben> becomes hard to change. the major problem is that there's no
Ben> reasonable way in elisp to hide a function other than giving
Ben> it a strange name. since in general this kind of stuff
Ben> requires c support, i don't see why we shouldn't just do it
Ben> all in c, the same as we do for existing functions that
Ben> behave similarly.
Because at this stage we probably do want to change it! If we could
encapsulate the frame object and say "here are the messages you might
want to send a frame", and be confident that we have them *all*, that
would be one thing. Then you could hide the underlying encoding.
But we *need* a Lisp-level API that marshalls Lisp integers into
messages to MS Windows, and parallels for X11, Carbon, BeOS, GTK+,
etc, because we don't know what all they might be willing to accept.
As long as we have to expose that anyway, I'd prefer that
`mswindows-send-sys-command' take only numbers, and generally have
"I'm a low-level wrapper around a basic system API and hard work to
use" written all over it, and a set of high-level functions that don't
accept numerically coded arguments at all.
From another angle, why would we ever want to change the API
(defun mswindows-send-sys-command (cmd-code &optional frame) ...)
? I think we can get that one right on the first try. :-)
--
School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573
JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.