* APL mode
@ 2013-10-12 4:48 Rustom Mody
2013-10-12 7:25 ` Thien-Thi Nguyen
` (3 more replies)
0 siblings, 4 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-12 4:48 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1561 bytes --]
Hello all!
As some of you may know Gnu Apl has been very recently released
http://www.gnu.org/software/apl/
I feel in the modern unicoded world, APL may be more usable than it has
ever been, so having a modern (unicode-based) Apl running on Gnu/Linux
systems is quite a big thing. [Well at least for some old-fogeys :-) ]
I asked the author Juergen Sauermann if there was an emacs mode.
He asked 'Whats a mode? " :-) . He agreed that if I provided one he would
put it in.
Is anyone working on this??
For the time being Ive put together something minimal by
a. taking scheme.el, cmuscheme.el
b. search-replace-ing scheme by apl
c. Do the minimal hacking required to make it work
d. Throw out obviously unneeded parts (like DSSSL stuff)
Also looking at perl and ada modes for characters, fontlock etc.
Any preferable sources to study/copy from?
I tried to study C-mode(s) but it was too vast to make sense :-(
About syntax:
What does sexp mean for non-lisp languages like C etc?
(Needed for functions like forward-sexp)
About Font lock:
APL is notorious for being unreadable. This is related to having almost no
keywords and only weird characters.
Having a good coloration for different categories of characters will help a
long way.
Is there somewhere I can 8-10 different faces ready?
And how faces are used in programming modes?
Input methods:
Current input method supplied by Juergen is xmodmap based.
We need other more emacsy method(s). I'll write about that subsequently, if
I can get the above working :-)
Rusi
--
http://blog.languager.org
[-- Attachment #2: Type: text/html, Size: 2022 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-12 4:48 APL mode Rustom Mody
@ 2013-10-12 7:25 ` Thien-Thi Nguyen
2013-10-12 14:26 ` Stefan Monnier
` (2 subsequent siblings)
3 siblings, 0 replies; 46+ messages in thread
From: Thien-Thi Nguyen @ 2013-10-12 7:25 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1087 bytes --]
() Rustom Mody <rustompmody@gmail.com>
() Sat, 12 Oct 2013 10:18:21 +0530
What does sexp mean for non-lisp languages like C etc?
(Needed for functions like forward-sexp)
(info "(elisp) List Motion")
An "expression", either atomic or, if compound, delimited by balanced
pairs (parens, braces, quote chars), but note that a "defun" may have
other conceptual cruft (typically at the beginning, e.g., a C function)
so that it is not a simple "sexp". In a similar vein, multi-char pairs
(e.g,. "begin".."end") require more hair, but the idea is the same.
Is there somewhere I can 8-10 different faces ready?
And how faces are used in programming modes?
(info "(elisp) Faces for Font Lock")
Try also ‘M-x list-faces-display’. Programming modes are encouraged to
use those whose names begin with "font-lock-", i believe.
--
Thien-Thi Nguyen
GPG key: 4C807502
(if you're human and you know it)
read my lisp: (responsep (questions 'technical)
(not (via 'mailing-list)))
=> nil
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-12 4:48 APL mode Rustom Mody
2013-10-12 7:25 ` Thien-Thi Nguyen
@ 2013-10-12 14:26 ` Stefan Monnier
2013-10-12 16:09 ` Rustom Mody
2013-10-13 12:42 ` Rüdiger Sonderfeld
2013-10-14 17:03 ` David De La Harpe Golden
3 siblings, 1 reply; 46+ messages in thread
From: Stefan Monnier @ 2013-10-12 14:26 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
> What does sexp mean for non-lisp languages like C etc?
> (Needed for functions like forward-sexp)
It means "a subtree in the abstract syntax tree".
Stefan
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-12 14:26 ` Stefan Monnier
@ 2013-10-12 16:09 ` Rustom Mody
2013-10-12 19:08 ` Stefan Monnier
2013-10-13 6:45 ` Stephen J. Turnbull
0 siblings, 2 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-12 16:09 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 703 bytes --]
On Sat, Oct 12, 2013 at 7:56 PM, Stefan Monnier <monnier@iro.umontreal.ca>
wrote:
>> What does sexp mean for non-lisp languages like C etc?
>> (Needed for functions like forward-sexp)
>
> It means "a subtree in the abstract syntax tree".
In principle, that's fine. However in practice there are things like
a. comments which do not exist in the AST
b. preprocessor commands that appear and disappear before ASTs are on the
scene
c. (most important) emacs doesnt really do a full-scale context free
grammar analysis does it?
So I guess I am asking: Emacs uses regular exps to fudge a semblance of
context free structure. How does it do this?
Rusi
--
http://www.the-magus.in
http://blog.languager.org
[-- Attachment #2: Type: text/html, Size: 985 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-12 16:09 ` Rustom Mody
@ 2013-10-12 19:08 ` Stefan Monnier
2013-10-13 6:45 ` Stephen J. Turnbull
1 sibling, 0 replies; 46+ messages in thread
From: Stefan Monnier @ 2013-10-12 19:08 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
>>> What does sexp mean for non-lisp languages like C etc?
>>> (Needed for functions like forward-sexp)
>> It means "a subtree in the abstract syntax tree".
> In principle, that's fine. However in practice there are things like
> a. comments which do not exist in the AST
comments should normally be skipped by forward-sexp.
> b. preprocessor commands that appear and disappear before ASTs are on the
> scene
Indeed, there are cases where the source code does not correspond to
a tree (and not even a DAG either). In that cases, the expected
behavior of forward-sexp is undefined (i.e. total freedom).
> c. (most important) emacs doesnt really do a full-scale context free
> grammar analysis does it?
Not sure what you man by "Emacs" here: Emacs just runs the code provided
by the major mode author, so it's the major mode's author's
responsibility to make sure forward-sexp works as it should.
> So I guess I am asking: Emacs uses regular exps to fudge a semblance of
> context free structure. How does it do this?
There's `forward-sexp-function' which lets you write your parser by
hand.
Else, there's a very simplistic builtin parser, which doesn't know about
infix operators and only know how to skip "normal" comments, how to
recognize "normal" strings, and how to skip parentheses (and related
pairs, with restrictions such as: the opening and closing markers are
single chars). The "grammar" for this parser is given in the form of
what we call a "syntax-table".
In between, there's SMIE which does precedence parsing. It's a very
weak grammar, but since we want to parse backward (for backward-sexp),
it's a good option since, contrary to LL/LR and friends it's fully
symmetric. We use it for various different modes: Coq, SML, OCaml,
Prolog, sh, Ruby, Modula-2, Octave, css.
Stefan "who doesn't know much about APL's syntax"
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-12 16:09 ` Rustom Mody
2013-10-12 19:08 ` Stefan Monnier
@ 2013-10-13 6:45 ` Stephen J. Turnbull
2013-10-13 6:59 ` Rustom Mody
1 sibling, 1 reply; 46+ messages in thread
From: Stephen J. Turnbull @ 2013-10-13 6:45 UTC (permalink / raw)
To: Rustom Mody; +Cc: Stefan Monnier, emacs-devel
Rustom Mody writes:
> On Sat, Oct 12, 2013 at 7:56 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> RM wrote:
>>> What does sexp mean for non-lisp languages like C etc?
>> It means "a subtree in the abstract syntax tree".
> In principle, that's fine. However in practice there are things like
[...]
> c. (most important) emacs doesnt really do a full-scale context
> free grammar analysis does it?
If you use the semantic package, it can. Most simple modes don't,
although use of semantic is becoming more common.
> So I guess I am asking: Emacs uses regular exps to fudge a
> semblance of context free structure. How does it do this?
Either it uses semantic, or it mixes regexp "parsing" with use of
regexps to match lexical tokens and custom lisp to parse.
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 6:45 ` Stephen J. Turnbull
@ 2013-10-13 6:59 ` Rustom Mody
2013-10-13 11:10 ` Stephen J. Turnbull
0 siblings, 1 reply; 46+ messages in thread
From: Rustom Mody @ 2013-10-13 6:59 UTC (permalink / raw)
To: Stephen J. Turnbull; +Cc: Stefan Monnier, emacs-devel
On Sun, Oct 13, 2013 at 12:15 PM, Stephen J. Turnbull
<stephen@xemacs.org> wrote:
> Rustom Mody writes:
> > On Sat, Oct 12, 2013 at 7:56 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> >> RM wrote:
>
> >>> What does sexp mean for non-lisp languages like C etc?
>
> >> It means "a subtree in the abstract syntax tree".
>
> > In principle, that's fine. However in practice there are things like
> [...]
> > c. (most important) emacs doesnt really do a full-scale context
> > free grammar analysis does it?
>
> If you use the semantic package, it can. Most simple modes don't,
> although use of semantic is becoming more common.
My choice is to preferably stay simple even if that means not covering
20% of odd/corner cases.
Not to say that I am afraid of CFGs -- more afraid of regexps with 16
backslashes in a row!!
> > So I guess I am asking: Emacs uses regular exps to fudge a
> > semblance of context free structure. How does it do this?
>
> Either it uses semantic, or it mixes regexp "parsing" with use of
> regexps to match lexical tokens and custom lisp to parse.
>
Can you point me to somewhere to read as example?
I looked at C mode(s) but there is so much file-level structure I
could not figure out where the action is happening.
General note:
As a language, APL is probably quite simple if not trivial --
function definitions contain
lines contain
expressions.
No control structures, classes etc etc.
Rusi
--
http://blog.languager.org
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 6:59 ` Rustom Mody
@ 2013-10-13 11:10 ` Stephen J. Turnbull
2013-10-13 14:04 ` Rustom Mody
0 siblings, 1 reply; 46+ messages in thread
From: Stephen J. Turnbull @ 2013-10-13 11:10 UTC (permalink / raw)
To: Rustom Mody; +Cc: Stefan Monnier, emacs-devel
Rustom Mody writes:
> Not to say that I am afraid of CFGs -- more afraid of regexps with 16
> backslashes in a row!!
XEmacsen have rawstrings (couldn't resist), but the real answer is to
use one of the regexp constructor packages if you don't feel like
dealing the the unfortunate consequences of the traditional use of the
same character to indicate string escapes and regexp constructs too.
> Can you point me to somewhere to read as example?
css-mode, htmlize, nroff-mode, xpm-mode, xrdb-mode. But you won't
find a Lispish parser in any of them IIRC. Rather the parsing is
buried in movement functions and the like. To find what you're
looking for, find the keymap, and then find the motion function.
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 11:10 ` Stephen J. Turnbull
@ 2013-10-13 14:04 ` Rustom Mody
2013-10-13 15:35 ` Stephen J. Turnbull
2013-10-13 16:11 ` Ivan Andrus
0 siblings, 2 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-13 14:04 UTC (permalink / raw)
To: Stephen J. Turnbull; +Cc: emacs-devel
On Sun, Oct 13, 2013 at 4:40 PM, Stephen J. Turnbull <stephen@xemacs.org> wrote:
> Rustom Mody writes:
>
> > Not to say that I am afraid of CFGs -- more afraid of regexps with 16
> > backslashes in a row!!
>
> XEmacsen have rawstrings (couldn't resist), but the real answer is to
> use one of the regexp constructor packages if you don't feel like
> dealing the the unfortunate consequences of the traditional use of the
> same character to indicate string escapes and regexp constructs too.
Ok I find something called rx.
I think I need something like rx-inverse -- something which will give
me an sexp interpretation of an ugly re.
>
> > Can you point me to somewhere to read as example?
>
> css-mode, htmlize, nroff-mode, xpm-mode, xrdb-mode. But you won't
> find a Lispish parser in any of them IIRC. Rather the parsing is
> buried in movement functions and the like. To find what you're
> looking for, find the keymap, and then find the motion function.
Could not find many of these. Are they elisp files in the standard distribution?
Also any examples that use semantic?
Rusi
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 14:04 ` Rustom Mody
@ 2013-10-13 15:35 ` Stephen J. Turnbull
2013-10-13 16:11 ` Ivan Andrus
1 sibling, 0 replies; 46+ messages in thread
From: Stephen J. Turnbull @ 2013-10-13 15:35 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
Rustom Mody writes:
> > > Can you point me to somewhere to read as example?
> >
> > css-mode, htmlize, nroff-mode, xpm-mode, xrdb-mode. But you won't
> > find a Lispish parser in any of them IIRC. Rather the parsing is
> > buried in movement functions and the like. To find what you're
> > looking for, find the keymap, and then find the motion function.
>
> Could not find many of these. Are they elisp files in the standard
> distribution?
I would think so, except for htmlize.
http://ftp.xemacs.org/packages/text-modes-1.98-pkg.tar.gz
has all of them and a number of other examples.
> Also any examples that use semantic?
ecb and jde are the only ones I know of. grep -rl "require 'semantic"
should give you a nice list.
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 14:04 ` Rustom Mody
2013-10-13 15:35 ` Stephen J. Turnbull
@ 2013-10-13 16:11 ` Ivan Andrus
1 sibling, 0 replies; 46+ messages in thread
From: Ivan Andrus @ 2013-10-13 16:11 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel@gnu.org List
On Oct 13, 2013, at 8:04 AM, Rustom Mody <rustompmody@gmail.com> wrote:
> On Sun, Oct 13, 2013 at 4:40 PM, Stephen J. Turnbull <stephen@xemacs.org> wrote:
>> Rustom Mody writes:
>>
>>> Not to say that I am afraid of CFGs -- more afraid of regexps with 16
>>> backslashes in a row!!
>>
>> XEmacsen have rawstrings (couldn't resist), but the real answer is to
>> use one of the regexp constructor packages if you don't feel like
>> dealing the the unfortunate consequences of the traditional use of the
>> same character to indicate string escapes and regexp constructs too.
>
> Ok I find something called rx.
> I think I need something like rx-inverse -- something which will give
> me an sexp interpretation of an ugly re.
In the pcre2el package (available in MELPA or marmalade) you will find `rxt-elisp-to-rx' which does just that. I've only used it a little but it seems to work well.
-Ivan
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-12 4:48 APL mode Rustom Mody
2013-10-12 7:25 ` Thien-Thi Nguyen
2013-10-12 14:26 ` Stefan Monnier
@ 2013-10-13 12:42 ` Rüdiger Sonderfeld
2013-10-13 14:47 ` Rustom Mody
2013-10-14 17:03 ` David De La Harpe Golden
3 siblings, 1 reply; 46+ messages in thread
From: Rüdiger Sonderfeld @ 2013-10-13 12:42 UTC (permalink / raw)
To: emacs-devel; +Cc: Rustom Mody
Hi,
I started working on some APL-mode stuff. But I haven't gotten very far and I
currently lack the time to continue working on it.
Feel free to improve/change it:
https://github.com/ruediger/apl-mode
Regards,
Rüdiger
On Saturday 12 October 2013 10:18:21 Rustom Mody wrote:
> Hello all!
>
> As some of you may know Gnu Apl has been very recently released
> http://www.gnu.org/software/apl/
>
> I feel in the modern unicoded world, APL may be more usable than it has
> ever been, so having a modern (unicode-based) Apl running on Gnu/Linux
> systems is quite a big thing. [Well at least for some old-fogeys :-) ]
>
> I asked the author Juergen Sauermann if there was an emacs mode.
> He asked 'Whats a mode? " :-) . He agreed that if I provided one he would
> put it in.
>
> Is anyone working on this??
>
> For the time being Ive put together something minimal by
> a. taking scheme.el, cmuscheme.el
> b. search-replace-ing scheme by apl
> c. Do the minimal hacking required to make it work
> d. Throw out obviously unneeded parts (like DSSSL stuff)
>
> Also looking at perl and ada modes for characters, fontlock etc.
>
> Any preferable sources to study/copy from?
> I tried to study C-mode(s) but it was too vast to make sense :-(
>
> About syntax:
> What does sexp mean for non-lisp languages like C etc?
> (Needed for functions like forward-sexp)
>
> About Font lock:
> APL is notorious for being unreadable. This is related to having almost no
> keywords and only weird characters.
> Having a good coloration for different categories of characters will help a
> long way.
>
> Is there somewhere I can 8-10 different faces ready?
> And how faces are used in programming modes?
>
> Input methods:
> Current input method supplied by Juergen is xmodmap based.
> We need other more emacsy method(s). I'll write about that subsequently, if
> I can get the above working :-)
>
>
> Rusi
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 12:42 ` Rüdiger Sonderfeld
@ 2013-10-13 14:47 ` Rustom Mody
2013-10-13 15:24 ` Rüdiger Sonderfeld
0 siblings, 1 reply; 46+ messages in thread
From: Rustom Mody @ 2013-10-13 14:47 UTC (permalink / raw)
To: Rüdiger Sonderfeld; +Cc: emacs-devel
On Sun, Oct 13, 2013 at 6:12 PM, Rüdiger Sonderfeld
<ruediger@c-plusplus.de> wrote:
> Hi,
> I started working on some APL-mode stuff. But I haven't gotten very far and I
> currently lack the time to continue working on it.
>
> Feel free to improve/change it:
>
> https://github.com/ruediger/apl-mode
Hi Rüdiger
Good to see someone else has interest in APL-under-emacs!
I have one general question for you: Did you try Gnu-Apl under emacs?
I personally find the xmodmap approach too invasive to be practicable
-- everything other than the emacs-apl modes stop working! Not just
at the emacs level but even at the X level eg Alt-F2, Alt-F4 etc etc
So I feel we need to find an input-method approach which does not
disturb things too much outside the 2 buffers where its needed -- Apl
file, Apl interpreter.
--
http://www.the-magus.in
http://blog.languager.org
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 14:47 ` Rustom Mody
@ 2013-10-13 15:24 ` Rüdiger Sonderfeld
2013-10-14 5:00 ` Rustom Mody
0 siblings, 1 reply; 46+ messages in thread
From: Rüdiger Sonderfeld @ 2013-10-13 15:24 UTC (permalink / raw)
To: emacs-devel; +Cc: Rustom Mody
Hi,
On Sunday 13 October 2013 20:17:04 Rustom Mody wrote:
> I have one general question for you: Did you try Gnu-Apl under emacs?
> I personally find the xmodmap approach too invasive to be practicable
> -- everything other than the emacs-apl modes stop working! Not just
> at the emacs level but even at the X level eg Alt-F2, Alt-F4 etc etc
> So I feel we need to find an input-method approach which does not
> disturb things too much outside the 2 buffers where its needed -- Apl
> file, Apl interpreter.
so far I only tried GNU APL with inferior-apl-mode. Change `inferior-apl-
program' to point to the GNU APL executable and start `inferior-apl'.
I agree that the xmodmap approach isn't very practical. apl-input.el contains
an input method for APL characters. You type $ followed by the name of the
apl character unicode name. (It currently lacks characters outside the APL
FUNCTIONAL SYMBOL namespace). This isn't very practical either. That's why
there is apl-input-x.el. Which adds a variety of different names to the input
method.
E.g.,
("<-" ?←)
("->" ?→)
("each" ?¨)
("&" ?∧)
("and" ?∧)
("nand" ?⍲)
("or" ?∨)
("nor" ?⍱)
("*" ?×)
("%" ?÷)
("/" ?÷)
But it requires some more additions and fine tuning to be really useful.
I'm not very well experienced with APL and only did some APL for fun. That's
why I might not be the best person to implement all of this.
Regards,
Rüdiger
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-13 15:24 ` Rüdiger Sonderfeld
@ 2013-10-14 5:00 ` Rustom Mody
2013-10-14 6:45 ` Rustom Mody
` (2 more replies)
0 siblings, 3 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-14 5:00 UTC (permalink / raw)
To: Rüdiger Sonderfeld; +Cc: emacs-devel
On Sun, Oct 13, 2013 at 8:54 PM, Rüdiger Sonderfeld
<ruediger@c-plusplus.de> wrote:
> Hi,
>
> On Sunday 13 October 2013 20:17:04 Rustom Mody wrote:
>> I have one general question for you: Did you try Gnu-Apl under emacs?
>> I personally find the xmodmap approach too invasive to be practicable
>> -- everything other than the emacs-apl modes stop working! Not just
>> at the emacs level but even at the X level eg Alt-F2, Alt-F4 etc etc
>> So I feel we need to find an input-method approach which does not
>> disturb things too much outside the 2 buffers where its needed -- Apl
>> file, Apl interpreter.
>
> so far I only tried GNU APL with inferior-apl-mode. Change `inferior-apl-
> program' to point to the GNU APL executable and start `inferior-apl'.
>
> I agree that the xmodmap approach isn't very practical.
Heres a first cut attempt.
F8 and F9 are made to be like dead-keys by making them emacs prefix keys.
What do you think?
------------------------
;; (defvar apl-mode-map (make-sparse-keymap)) ;; defined elsewhere
(setq f9map (make-sparse-keymap))
(define-key apl-mode-map (kbd "<f9>") f9map)
(setq f8map (make-sparse-keymap))
(define-key apl-mode-map (kbd "<f8>") f8map)
(setq apl-key-table '(
;; top (number) row
"`◊⍨" "1¨¡" "2¯€" "3<£" "4≤⍧" "5= " "6≥ " "7> " "8≠⍂" "9∨⍱" "0∧⍲" "-×≡" "=÷⌹"
;; qwert row
"q?¿" "w⍵⌽" "e∈⍷" "r⍴ " "t∼⍉" "y↑¥" "u↓ " "i⍳⍸" "o○⍥" "p⋆⍟" "[← " "]→ "
;; asdf row
"a⍺⊖" "s⌈ " "d⌊ " "f_⍫" "g∇⍒" "h∆⍋" "j∘⍤" "k'⌺" "l⎕⍞" ";⊢ " "'⊣ "
;; zxcv row
"z⊂ " "x⊃ " "c∩⍝" "v∪ " "b⊥⍎" "n⊤⍕" "m|⌶" ",⌷⍪" ".⍎⍙" "/⍕⌿"
))
(dolist (k apl-key-table)
(let ((kb-key (string (aref k 0)))
(apl-key1 (string (aref k 1)))
(apl-key2 (string (aref k 2))))
(define-key f8map kb-key apl-key1)
(define-key f9map kb-key apl-key2)))
-----------------------------------------------------------
This is the 'ASCII-art though not ASCII' picture from gnu-apl that I have copied
╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═════════╗
║ ~⍨ ║ !¡ ║ @€ ║ #£ ║ $⍧ ║ % ║ ^ ║ & ║ *⍂ ║ (⍱ ║ )⍲ ║ _≡ ║ +⌹ ║ ║
║ `◊ ║ 1¨ ║ 2¯ ║ 3< ║ 4≤ ║ 5= ║ 6≥ ║ 7> ║ 8≠ ║ 9∨ ║ 0∧ ║ -× ║ =÷ ║ BACKSP ║
╠════╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦══════╣
║ ║ Q¿ ║ W⌽ ║ E⍷ ║ R ║ T⍉ ║ Y¥ ║ U ║ I⍸ ║ O⍥ ║ P⍟ ║ { ║ } ║ |⍀ ║
║ TAB ║ q? ║ w⍵ ║ e∈ ║ r⍴ ║ t∼ ║ y↑ ║ u↓ ║ i⍳ ║ o○ ║ p⋆ ║ [← ║ ]→ ║ \⍝ ║
╠═══════╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩══════╣
║ (CAPS ║ A⊖ ║ S ║ D ║ F⍫ ║ G⍒ ║ H⍋ ║ J⍤ ║ K⌺ ║ L⍞ ║ : ║ " ║ ║
║ LOCK) ║ a⍺ ║ s⌈ ║ d⌊ ║ f_ ║ g∇ ║ h∆ ║ j∘ ║ k' ║ l⎕ ║ ;⊢ ║ '⊣ ║ RETURN ║
╠═════════╩═══╦╩═══╦╩═══╦╩═══╦╩═══╦╩═══╦╩═══╦╩═══╦╩═══╦╩═══╦╩═══╦╩═════════╣
║ ║ Z ║ X ║ C⍝ ║ V ║ B⍎ ║ N⍕ ║ M⌶ ║ <⍪ ║ >⍙ ║ ?⌿ ║ ║
║ SHIFT ║ z⊂ ║ x⊃ ║ c∩ ║ v∪ ║ b⊥ ║ n⊤ ║ m| ║ ,⌷ ║ .⍎ ║ /⍕ ║ SHIFT ║
╚═════════════╩════╩════╩════╩════╩════╩════╩════╩════╩════╩════╩══════════╝
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-14 5:00 ` Rustom Mody
@ 2013-10-14 6:45 ` Rustom Mody
2013-10-14 13:34 ` Stefan Monnier
2013-10-14 8:21 ` Xue Fuqiao
2013-10-14 10:40 ` Rüdiger Sonderfeld
2 siblings, 1 reply; 46+ messages in thread
From: Rustom Mody @ 2013-10-14 6:45 UTC (permalink / raw)
To: Rüdiger Sonderfeld; +Cc: emacs-devel
Ive made the earlier code standalone-executable (without rest of
apl.el) and more readable.
Once the following code is executed, f8 and f9 should work as prefixes
for entering Apl characters, irrespective of mode.
----------------------------------------
;; Following 2 lines needed for the rest to work
;; Assumed defined elsewhere (apl.el)
(defvar apl-mode-map (make-sparse-keymap))
(use-local-map apl-mode-map)
;; Data Structure representing keyboard with APL layout
;; Keys separated from its neighbour by a ¶
;; Each key is a triplet of 3 characters:
;; 1st is the usual key as seen on a normal keyboard
;; 2nd and 3rd are APL specific variants
(setq apl-keyboard '(
;; top (number) row
"`◊⍨¶1¨¡¶2¯€¶3<£¶4≤⍧¶5= ¶6≥ ¶7> ¶8≠⍂¶9∨⍱¶0∧⍲¶-×≡¶=÷⌹"
;; qwertyuiop row
"q?¿¶w⍵⌽¶e∈⍷¶r⍴ ¶t∼⍉¶y↑¥¶u↓ ¶i⍳⍸¶o○⍥¶p⋆⍟¶[← ¶]→ "
;; asdfghjkl row
"a⍺⊖¶s⌈ ¶d⌊ ¶f_⍫¶g∇⍒¶h∆⍋¶j∘⍤¶k'⌺¶l⎕⍞¶;⊢ ¶'⊣ "
;; zxcvbnm row
"z⊂ ¶x⊃ ¶c∩⍝¶v∪ ¶b⊥⍎¶n⊤⍕¶m|⌶¶,⌷⍪¶.⍎⍙¶/⍕⌿"
))
(setq apl-map1 (make-sparse-keymap))
(define-key apl-mode-map (kbd "<f8>") apl-map1)
(setq apl-map2 (make-sparse-keymap))
(define-key apl-mode-map (kbd "<f9>") apl-map2)
(dolist (line apl-keyboard)
(dolist (key (split-string line "¶"))
(let ((kb-key (string (aref key 0)))
(apl-key1 (string (aref key 1)))
(apl-key2 (string (aref key 2))))
(define-key apl-map1 kb-key apl-key1)
(define-key apl-map2 kb-key apl-key2)))
)
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-14 5:00 ` Rustom Mody
2013-10-14 6:45 ` Rustom Mody
@ 2013-10-14 8:21 ` Xue Fuqiao
2013-10-14 11:08 ` Rustom Mody
2013-10-14 10:40 ` Rüdiger Sonderfeld
2 siblings, 1 reply; 46+ messages in thread
From: Xue Fuqiao @ 2013-10-14 8:21 UTC (permalink / raw)
To: Rustom Mody; +Cc: Rüdiger Sonderfeld, emacs-devel
On Mon, Oct 14, 2013 at 1:00 PM, Rustom Mody <rustompmody@gmail.com> wrote:
> F8 and F9 are made to be like dead-keys by making them emacs prefix keys.
FYI in (info "(elisp) Key Binding Conventions"):
* Function keys <F5> through <F9> without modifier keys are also
reserved for users to define.
* Sequences consisting of `C-c' followed by a control character or a
digit are reserved for major modes.
* Sequences consisting of `C-c' followed by `{', `}', `<', `>', `:'
or `;' are also reserved for major modes.
--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-14 8:21 ` Xue Fuqiao
@ 2013-10-14 11:08 ` Rustom Mody
2013-10-17 18:54 ` David De La Harpe Golden
0 siblings, 1 reply; 46+ messages in thread
From: Rustom Mody @ 2013-10-14 11:08 UTC (permalink / raw)
To: Xue Fuqiao; +Cc: Rüdiger Sonderfeld, emacs-devel
On Mon, Oct 14, 2013 at 1:51 PM, Xue Fuqiao <xfq.free@gmail.com> wrote:
> On Mon, Oct 14, 2013 at 1:00 PM, Rustom Mody <rustompmody@gmail.com> wrote:
>> F8 and F9 are made to be like dead-keys by making them emacs prefix keys.
>
> FYI in (info "(elisp) Key Binding Conventions"):
>
> * Function keys <F5> through <F9> without modifier keys are also
> reserved for users to define.
>
> * Sequences consisting of `C-c' followed by a control character or a
> digit are reserved for major modes.
>
> * Sequences consisting of `C-c' followed by `{', `}', `<', `>', `:'
> or `;' are also reserved for major modes.
>
Thanks Xue and Rüdiger
So we can change
(setq apl-map1 (make-sparse-keymap))
(define-key apl-mode-map (kbd "<f8>") apl-map1)
(setq apl-map2 (make-sparse-keymap))
(define-key apl-mode-map (kbd "<f9>") apl-map2)
to
(setq apl-map1 (make-sparse-keymap))
(define-key apl-mode-map (kbd "C-c 1") apl-map1)
(setq apl-map2 (make-sparse-keymap))
(define-key apl-mode-map (kbd "C-c 2") apl-map2)
In fact I dont think that either is very convenient anyway.
Ideally it should be a modifier key like AltGr or WinMenu(?).
Something that will be minimally intrusive on rest of emacs and rest
of X and be reasonably portable.
However I could not wrap my head round xmodmap so consider this as an
interim emacsy solution.
On Mon, Oct 14, 2013 at 4:10 PM, Rüdiger Sonderfeld
<ruediger@c-plusplus.de> wrote:
> F8/F9 might be a bad choice because they are user keys. But overall you
> approach seems like a good idea. APL programmers are certainly likely to use
> the keyboard approach. I personally prefer the quail input method though.
> But then again I use M-x quite often in Emacs as well instead of keybindings.
How does that work??
Ive used quail like so:
(quail-defrule ".." ?॥)
(quail-defrule "." ?।)
for entering sanskrit text (those two characters are two kinds of
'full-stops' in sanskrit) But then you cant enter a normal English
fullstop.
This is fine for entirely sanskrit texts.
However here we need the w key to generate sometimes plain ol w ,
sometimes ⍵ sometimes ⌽ . So some kind of modedness is inevitably
required no??
Rusi
--
http://blog.languager.org
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-14 11:08 ` Rustom Mody
@ 2013-10-17 18:54 ` David De La Harpe Golden
2013-10-17 19:26 ` Stefan Monnier
2013-10-18 7:06 ` Rustom Mody
0 siblings, 2 replies; 46+ messages in thread
From: David De La Harpe Golden @ 2013-10-17 18:54 UTC (permalink / raw)
To: Rustom Mody; +Cc: Xue Fuqiao, Rüdiger Sonderfeld, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1402 bytes --]
On 14/10/13 12:08, Rustom Mody wrote:
> However here we need the w key to generate sometimes plain ol w ,
> sometimes ⍵ sometimes ⌽ . So some kind of modedness is inevitably
> required no??
Well, C-\ quickly toggles the last input method on and off. It's not
entirely unusable, bit like "sticky keys".
But maybe a good alternative is a prefix or postfix character. See
attached stab at input methods I just threw together.
They work a bit differently to Rüdiger's: these just follow gnu apl
1.0's documented keyboard layout in particular, whereas Rüdiger's are
more logical/semantic (i.e. his say 'pick' -> ⊃, not '/x' -> ⊃). If you
want to run with them, feel free, anyway.
I chose '/' for a prefix/postfix with the vague rationale other input
methods such as latin-* seemed to use it a lot for miscellaneous
symbols, although OTOH apl code itself uses '/' quite a lot (reduce...).
Could just use another prefix/postfix, but some are more awkward than
others, particularly on non-US keyboards.
With a "M-x comint-run apl" and a "C-x RET C-\ apl-kb-prefix" they're
...actually not bad for interactive use.
(P.S. beware you may want to build gnu apl without color for now if
doing that - its color support apparently isn't adaptive currently. Took
me far too long to work out that my first build was working, just
showing black-on-black...)
[-- Attachment #2: apl-kb.el.gz --]
[-- Type: application/x-gzip, Size: 2813 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-17 18:54 ` David De La Harpe Golden
@ 2013-10-17 19:26 ` Stefan Monnier
2013-10-20 13:57 ` Rustom Mody
2013-10-18 7:06 ` Rustom Mody
1 sibling, 1 reply; 46+ messages in thread
From: Stefan Monnier @ 2013-10-17 19:26 UTC (permalink / raw)
To: David De La Harpe Golden
Cc: Xue Fuqiao, Rustom Mody, Rüdiger Sonderfeld, emacs-devel
Why don't you guys add a packages/apl-mode directory to the `elpa'
branch, and work there?
Stefan
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-17 19:26 ` Stefan Monnier
@ 2013-10-20 13:57 ` Rustom Mody
2013-10-21 10:46 ` Xue Fuqiao
2013-10-21 13:03 ` Stefan Monnier
0 siblings, 2 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-20 13:57 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
On Fri, Oct 18, 2013 at 12:56 AM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
> Why don't you guys add a packages/apl-mode directory to the `elpa'
> branch, and work there?
Hi Stefan,
Was trying to read up on this to figure out what it entails.
There's not too much stuff (I can find) regarding this and most that
I can get is 'from-the-outside' view -- different package lists,
managers etc
Can you point me to some more internal architecture links/pointers about this?
[Or whatever is relevant]
In case its not obvious, Ive used emacs24 for only a few days :-) and
never used the package-manager(s).
Thanks
Rusi
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-20 13:57 ` Rustom Mody
@ 2013-10-21 10:46 ` Xue Fuqiao
2013-10-21 13:03 ` Stefan Monnier
1 sibling, 0 replies; 46+ messages in thread
From: Xue Fuqiao @ 2013-10-21 10:46 UTC (permalink / raw)
To: Rustom Mody; +Cc: Stefan Monnier, emacs-devel
On Sun, Oct 20, 2013 at 9:57 PM, Rustom Mody <rustompmody@gmail.com> wrote:
> On Fri, Oct 18, 2013 at 12:56 AM, Stefan Monnier
> <monnier@iro.umontreal.ca> wrote:
>> Why don't you guys add a packages/apl-mode directory to the `elpa'
>> branch, and work there?
>
> Hi Stefan,
> Was trying to read up on this to figure out what it entails.
> There's not too much stuff (I can find) regarding this and most that
> I can get is 'from-the-outside' view -- different package lists,
> managers etc
>
> Can you point me to some more internal architecture links/pointers about this?
> [Or whatever is relevant]
>
> In case its not obvious, Ive used emacs24 for only a few days :-) and
> never used the package-manager(s).
You can see:
(info "(emacs) Packages")
(info "(elisp) Packaging")
admin/notes/elpa[fn:1]
elpa.gnu.org
git://bzr.sv.gnu.org/emacs/elpa/README
Footnotes:
[fn:1] http://git.savannah.gnu.org/cgit/emacs.git/plain/admin/notes/elpa
--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-20 13:57 ` Rustom Mody
2013-10-21 10:46 ` Xue Fuqiao
@ 2013-10-21 13:03 ` Stefan Monnier
2013-10-25 19:09 ` Rustom Mody
1 sibling, 1 reply; 46+ messages in thread
From: Stefan Monnier @ 2013-10-21 13:03 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
>> Why don't you guys add a packages/apl-mode directory to the `elpa'
>> branch, and work there?
> Was trying to read up on this to figure out what it entails.
git clone git://bzr.sv.gnu.org/emacs/elpa.git
cd elpa/packages
mkdir apl-mode
...
> There's not too much stuff (I can find) regarding this and most that
> I can get is 'from-the-outside' view -- different package lists,
> managers etc
`elpa' is a Git branch where we keep the source code of the packages
distributed via GNU ELPA. GNU ELPA is auto-built from that branch.
So the main thing you need to know is that this `apl-mode' would then be
distributed via GNU ELPA and that new packages would be released
whenever you bump the "Version:" header.
There's also the fact that these file should follow some coding
conventions (mostly, the apl-mode.el file in there should have the
usual ";;; apl-mode.el --- <description>" first line, and it needs to
have a "Version:" header).
Stefan
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-21 13:03 ` Stefan Monnier
@ 2013-10-25 19:09 ` Rustom Mody
2013-10-26 1:40 ` Stefan Monnier
0 siblings, 1 reply; 46+ messages in thread
From: Rustom Mody @ 2013-10-25 19:09 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 559 bytes --]
On the help emacs list Stefan made some elisp suggestions for the apl mode.
Since its about nitty-gritties of elisp I think this may be the more
suitable list.
So heres some code to input apl. (attached)
Currently there is no major-mode stuff.
Just in any mode if you run this (and you have a scroll-lock key
working) then scroll-lock behaves like a toggle for an apl keyboard.
[If scroll-lock is not there as on laptops, you will need to pick some
other key and change that line]
If there is something fundamentally wrong with this line please let me know
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ap3.el --]
[-- Type: text/x-emacs-lisp; name="ap3.el", Size: 2238 bytes --]
(defvar apl-keyboard '(
;; number row
"`◊ 1¨ 2¯ 3< 4≤ 5= 6≥ 7> 8≠ 9∨ 0∧ -× =÷ \⍝ |⍀"
;; number row SHIFTed
"~⍨ !¡ @€ #£ $⍧ % ^ & *⍂ (⍱ )⍲ _≡ +⌹"
;; qwert row
"q? w⍵ e∈ t∼ y↑ r⍴ u↓ i⍳ o○ p⋆"
;; qwert row shifted
"Q¿ W⌽ E⋸ T⍉ Y¥ I⍸ O⍥ P⍟ [← ]→"
;; asdf row
"a⍺ s⌈ d⌊ f_ g∇ h∆ j∘ k' l⎕ ;⊢ '⊣"
;; asdf row shifted
"A⊖ S D F⍫ G⍒ H⍋ J⍤ K⌻ L⍞"
;; zxcv row
"z⊂ x⊃ c∩ v∪ b⊥ n⊤ m∣ ,⌷ .⍎ /⍕"
;; zxcv row shifted
"Z X C⍝ V B⍎ N⍕ M⌶ <⍪ >⍙ ?⌿"
)
"APL keyboard is a list of keyboard rows
For structure see \\[kb-block-defrules]
"
)
(defun kb-block-defrules (kb)
"kb is a list of keyboard rows
Each row is a space delimited string
The elements of the rows apart from spaces are a pair of characters
the first is a keyboard and the second is a translation (which could be absent)
See apl-keyboard above for example.
This function converts that list of strings
into a lisp list of (key .translation) pairs
"
(let ((kbl nil))
(dolist (row kb (reverse kbl))
(let ((key-trans-list (split-string row "[ \t]+" t))
(key) (trans))
(dolist (key-trans key-trans-list)
(when (= (length key-trans) 2)
(setq key (aref key-trans 0)
trans (aref key-trans 1)
kbl (cons (cons key trans) kbl)
)))))))
(defvar apl-input-mode nil)
;; obviously this will not be global when the rest of apl mode
;; are in shape. Just a hack for now
(global-set-key (kbd "<Scroll_Lock>") 'toggle-apl-input-mode)
(defvar mode-name-aplized "απλ")
(defvar mode-name-ascii "APL")
(defvar apl-translation-table (make-translation-table
(kb-block-defrules apl-keyboard)))
(defun toggle-apl-input-mode ()
(interactive)
(setq apl-input-mode (not apl-input-mode))
(if apl-input-mode
(setq keyboard-translate-table apl-translation-table
mode-name mode-name-aplized)
(setq keyboard-translate-table nil
mode-name mode-name-ascii))
(force-mode-line-update))
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-25 19:09 ` Rustom Mody
@ 2013-10-26 1:40 ` Stefan Monnier
2013-10-26 4:38 ` Rustom Mody
0 siblings, 1 reply; 46+ messages in thread
From: Stefan Monnier @ 2013-10-26 1:40 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
> If there is something fundamentally wrong with this line please let me know
I'm still wondering why a plain old normal well-supported quail
input-method is not a good solution.
Stefan
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 1:40 ` Stefan Monnier
@ 2013-10-26 4:38 ` Rustom Mody
2013-10-26 10:35 ` Juergen Sauermann
2013-10-27 5:08 ` Stefan Monnier
0 siblings, 2 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-26 4:38 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Jürgen Sauermann, emacs-devel
On Sat, Oct 26, 2013 at 7:10 AM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
>> If there is something fundamentally wrong with this line please let me know
>
> I'm still wondering why a plain old normal well-supported quail
> input-method is not a good solution.
Obviously I know very little about quail -- so consider this as
thoughts for our comments.
In quail you need (as far as I understand) some kind of 'herald'
character like the '\' for tex input method.
In APL programming you need a preponderance of non ASCII characters
Some egs from the apl-keyboard in the code I attached:
The a-key needs to send a and A and ⍺ and ⊖
The g-key needs to send g and G and ∇ ⍒
and so on for most of the keys. [All need to send at least 3, majority
need to send 4]
Using a modifier key like the normal use of shift makes this palatable
Having to use a herald key means having to keep heralding -- a PITA.
The original solution from Juergen was to use xmodmap and use alt as
the modifier key -- quite normal in the APL world.
However with Alt (=M) gone we lose M-p M-n and above all M-x which
makes emacs close to useless
My initial attempts were to figure out xmodmap in order to add (rather
than to replace) one more modifier key. My findings:
1. I could not make head or tail of xmodmap
2. Even if I did it would be a very X-specific solution ie would not
work outside gnu-linux (maybe unix) systems
3. Keyboards are inherently very variable, in particular from 'normal'
desktop to laptop
All these things considered a low-level but inside emacs (rather than
X/OS) solution seems to be most optimal.
Finally, my feeling is that if APL is to regain some popularity (which
it enjoyed 4-5 decades ago), a variety of input methods would be good
-- for different hardware, OSes, usage-profile, tastes. So far I can
see these possibilities:
1. Juergen's xmodmap -- use ESC for Alt
2. David's quail-based one
3. Markus Triska's quail-based one (more tex-like than David's)
4. An intermediate one which I am trying to explore
Will be happy to hear your thoughts and experiences on this
Rusi
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 4:38 ` Rustom Mody
@ 2013-10-26 10:35 ` Juergen Sauermann
2013-10-26 11:42 ` Rustom Mody
2013-10-26 15:40 ` David De La Harpe Golden
2013-10-27 5:08 ` Stefan Monnier
1 sibling, 2 replies; 46+ messages in thread
From: Juergen Sauermann @ 2013-10-26 10:35 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
Hi Rustom,
maybe you want to reconsider your old proposal of using the
AltGr key for APL and Alt for emacs.
With xmodmap you can make Alt and Alt-Gr different modifiers, e.g.
add Mod1 = 108
I also believe that it is important to have the same method inside and
outside emacs. As a user I would be very irritated if I would need to type,
for example, ESC G inside emacs and CTRL-G when running APL from
a shell.
Jürgen
On 10/26/2013 06:38 AM, Rustom Mody wrote:
> On Sat, Oct 26, 2013 at 7:10 AM, Stefan Monnier
> <monnier@iro.umontreal.ca> wrote:
>>> If there is something fundamentally wrong with this line please let me know
>> I'm still wondering why a plain old normal well-supported quail
>> input-method is not a good solution.
> Obviously I know very little about quail -- so consider this as
> thoughts for our comments.
>
> In quail you need (as far as I understand) some kind of 'herald'
> character like the '\' for tex input method.
>
> In APL programming you need a preponderance of non ASCII characters
> Some egs from the apl-keyboard in the code I attached:
>
> The a-key needs to send a and A and ⍺ and ⊖
> The g-key needs to send g and G and ∇ ⍒
> and so on for most of the keys. [All need to send at least 3, majority
> need to send 4]
>
> Using a modifier key like the normal use of shift makes this palatable
> Having to use a herald key means having to keep heralding -- a PITA.
>
> The original solution from Juergen was to use xmodmap and use alt as
> the modifier key -- quite normal in the APL world.
> However with Alt (=M) gone we lose M-p M-n and above all M-x which
> makes emacs close to useless
>
> My initial attempts were to figure out xmodmap in order to add (rather
> than to replace) one more modifier key. My findings:
> 1. I could not make head or tail of xmodmap
> 2. Even if I did it would be a very X-specific solution ie would not
> work outside gnu-linux (maybe unix) systems
> 3. Keyboards are inherently very variable, in particular from 'normal'
> desktop to laptop
>
> All these things considered a low-level but inside emacs (rather than
> X/OS) solution seems to be most optimal.
>
> Finally, my feeling is that if APL is to regain some popularity (which
> it enjoyed 4-5 decades ago), a variety of input methods would be good
> -- for different hardware, OSes, usage-profile, tastes. So far I can
> see these possibilities:
> 1. Juergen's xmodmap -- use ESC for Alt
> 2. David's quail-based one
> 3. Markus Triska's quail-based one (more tex-like than David's)
> 4. An intermediate one which I am trying to explore
>
> Will be happy to hear your thoughts and experiences on this
> Rusi
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 10:35 ` Juergen Sauermann
@ 2013-10-26 11:42 ` Rustom Mody
2013-10-26 15:40 ` David De La Harpe Golden
1 sibling, 0 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-26 11:42 UTC (permalink / raw)
To: Juergen Sauermann; +Cc: emacs-devel
On Sat, Oct 26, 2013 at 4:05 PM, Juergen Sauermann
<juergen.sauermann@t-online.de> wrote:
> Hi Rustom,
>
> maybe you want to reconsider your old proposal of using the
> AltGr key for APL and Alt for emacs.
>
> With xmodmap you can make Alt and Alt-Gr different modifiers, e.g.
>
> add Mod1 = 108
>
> I also believe that it is important to have the same method inside and
> outside emacs. As a user I would be very irritated if I would need to type,
> for example, ESC G inside emacs and CTRL-G when running APL from
> a shell.
>
>
> Jürgen
That was of course my first choice.
However trying that one line in a file does not do anything -- emacs
still sees M- for both Alt's
Instead my 'l' has stopped working!!!
Im typing this with cut-paste!!
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 10:35 ` Juergen Sauermann
2013-10-26 11:42 ` Rustom Mody
@ 2013-10-26 15:40 ` David De La Harpe Golden
2013-10-26 16:48 ` Rustom Mody
1 sibling, 1 reply; 46+ messages in thread
From: David De La Harpe Golden @ 2013-10-26 15:40 UTC (permalink / raw)
To: Juergen Sauermann; +Cc: Rustom Mody, emacs-devel
On 26/10/13 11:35, Juergen Sauermann wrote:
> Hi Rustom,
>
> With xmodmap you can make Alt and Alt-Gr different modifiers
Okay, seems like there may be wheels being reinvented in them thar hills:
xmodmap is _old_, xkb [1] exists. Though xkb is perhaps confusing and
baroque, it's now clearly important to note that current xkb packages
ubiquitous on gnu+linux systems _already include_ several variations of
apl symbols [2], and you can use them [3].
They already look vaguely suitable for use with GNU APL, though there
might be some different choices made, I didn't exhaustively verify.
I'm afraid I personally tend to just "muddle through" xkb stuff right
now, I'm not the right person to ask for in-depth support and advice
with xkb. Perhaps you could contact the relevant xkb apl layout
devs/maintainers named in [2] itself to discuss meeting your GNU APL
keyboard needs. If, of course, they're not already met - and maybe it's
early enough that GNU APL might also make changes if it indeed picked
some different symbols to other unicode apls, there are a lot of
lookalike unicode symbols...
> I also believe that it is important to have the same method inside and
> outside emacs.
I think it's not such a problem if some intra-emacs quail input method
works a bit differently, such input methods are more for people who
either don't want to have a desktop-wide apl layout as above enabled
and/or use emacs on a text terminal or with a peculiar input device or
something.
IMO an emacs apl mode for editing apl sources (and presumably a related
inferior-apl for interactive apl interpreters under emacs) shouldn't
need to get into handling actual apl symbol input, that's more of a job
for xkb as above outside/over emacs, with quail input method(s) inside
emacs being nice to have.
[1] http://www.x.org/wiki/XKB/
[2] http://cgit.freedesktop.org/xkeyboard-config/tree/symbols/apl
Already present on my Debian 7.x system:
$ dpkg -S /usr/share/X11/xkb/symbols/apl
xkb-data: /usr/share/X11/xkb/symbols/apl
[3]
http://aplinquisition.blogspot.com/2013/07/configuring-apl-keyboard-with-i3-window.html
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 15:40 ` David De La Harpe Golden
@ 2013-10-26 16:48 ` Rustom Mody
2013-10-26 17:41 ` Rustom Mody
2013-10-26 17:48 ` David De La Harpe Golden
0 siblings, 2 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-26 16:48 UTC (permalink / raw)
To: David De La Harpe Golden; +Cc: Juergen Sauermann, emacs-devel
On Sat, Oct 26, 2013 at 9:10 PM, David De La Harpe Golden
<david@harpegolden.net> wrote:
> On 26/10/13 11:35, Juergen Sauermann wrote:
>>
>> Hi Rustom,
>>
>> With xmodmap you can make Alt and Alt-Gr different modifiers
>
> Okay, seems like there may be wheels being reinvented in them thar hills:
>
> xmodmap is _old_, xkb [1] exists. Though xkb is perhaps confusing and
> baroque, it's now clearly important to note that current xkb packages
> ubiquitous on gnu+linux systems _already include_ several variations of apl
> symbols [2], and you can use them [3].
>
Hey David you're a whiz!
One look at that reference and I tried:
$ setxkbmap -layout "us,apl" -option "grp:ralt_rshift_toggle"
And now if I type abcdefghijkl after Ralt-Rshift I get
⍺⊥∩⌊∊_∇∆⍳∘'⎕
Some problems are there:
in this mode now Alt-x gives me:
M-⊃ is undefined
[x maps to ⊃ !!]
More important I cant seem to find a '3rd level' -- note the standard
apl layout needs upto 4 characters from a key. ie in addition to the
usual ASCII and upcase ASCII there could be two more
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 16:48 ` Rustom Mody
@ 2013-10-26 17:41 ` Rustom Mody
2013-10-26 17:48 ` David De La Harpe Golden
1 sibling, 0 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-26 17:41 UTC (permalink / raw)
To: David De La Harpe Golden; +Cc: Juergen Sauermann, emacs-devel
On Sat, Oct 26, 2013 at 10:18 PM, Rustom Mody <rustompmody@gmail.com> wrote:
> More important I cant seem to find a '3rd level' -- note the standard
> apl layout needs upto 4 characters from a key. ie in addition to the
> usual ASCII and upcase ASCII there could be two more
Small update:
Dunno about 3rd level in the X sense, however this line
$ setxkbmap -layout "us,apl" -variant ",sax" -option "grp:ralt_rshift_toggle"
gives the 3rd character per key with a shift
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 16:48 ` Rustom Mody
2013-10-26 17:41 ` Rustom Mody
@ 2013-10-26 17:48 ` David De La Harpe Golden
1 sibling, 0 replies; 46+ messages in thread
From: David De La Harpe Golden @ 2013-10-26 17:48 UTC (permalink / raw)
To: Rustom Mody; +Cc: Juergen Sauermann, emacs-devel
On 26/10/13 17:48, Rustom Mody wrote:
> Hey David you're a whiz!
hah, well, thanks. I'm really not when it comes to xkb in particular
though, I rapidly devolve to trial-and-error.
> Some problems are there:
> in this mode now Alt-x gives me:
> M-⊃ is undefined
> [x maps to ⊃ !!]
Yes, I think you really want -option "grp:switch"
Then (I think) you'll have to hold down RAlt to type the apl character
(more like a traditional apl keyboard really), but you can still just
hit M-x with LAlt-x
>
> More important I cant seem to find a '3rd level' -- note the standard
> apl layout needs upto 4 characters from a key. ie in addition to the
> usual ASCII and upcase ASCII there could be two more
>
You just selected a pretty basic one I think, try e.g.
setxkbmap -layout "us,apl(sax)" -option "grp:switch"
Then try ralt+letter vs. ralt+shift+letter...
`1234567890-=
qwertyuiop[]
asdfghjkl;'\
zxcvbnm,./
~@#$%^&*()_+
QWERTYUIOP{}
ASDFGHJKL:"|
>ZXCVBNM<>?
⋄¨¯<≤=≥>≠∨∧×÷
?⍵∊⍴~↑↓⍳○*←→
⍺⌈⌊_∇∆∘'⎕⊢⊣⍝
<⊂⊃∩∪⊥⊤|⍞⍎⍕
⋄¡¯<¢=≥>⍂⍱⍲≡⌹
¿⌽⍷⍴⍉↑↓⍸⍥⍟←→
⊖⌈⌊⍫⍒⍋⍤⌻⍞⊢⊣⍀
>⊂⊃⍝∪⍎⍕⌶⍪⍙⌿
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-26 4:38 ` Rustom Mody
2013-10-26 10:35 ` Juergen Sauermann
@ 2013-10-27 5:08 ` Stefan Monnier
2013-10-27 22:41 ` Xue Fuqiao
2013-10-28 4:09 ` Stephen J. Turnbull
1 sibling, 2 replies; 46+ messages in thread
From: Stefan Monnier @ 2013-10-27 5:08 UTC (permalink / raw)
To: Rustom Mody; +Cc: Jürgen Sauermann, emacs-devel
>>> If there is something fundamentally wrong with this line please let me know
>> I'm still wondering why a plain old normal well-supported quail
>> input-method is not a good solution.
> Obviously I know very little about quail -- so consider this as
> thoughts for our comments.
> In quail you need (as far as I understand) some kind of 'herald'
> character like the '\' for tex input method.
I'm not sure what you mean by "herald key". AFAIK the only constraint
is that the input keys don't/can't use modifier keys, so you have to use
key sequences rather than key chords.
While I agree that it might sounds unEmacsish, key-sequences aren't that
bad compared to key-chords.
Stefan
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-27 5:08 ` Stefan Monnier
@ 2013-10-27 22:41 ` Xue Fuqiao
2013-10-28 4:09 ` Stephen J. Turnbull
1 sibling, 0 replies; 46+ messages in thread
From: Xue Fuqiao @ 2013-10-27 22:41 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
On Sun, Oct 27, 2013 at 1:08 PM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
> key-sequences aren't that bad compared to key-chords.
Agreed. "Key sequences are better than key chords" is one of the design
principles of ergoemacs-mode.
--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-27 5:08 ` Stefan Monnier
2013-10-27 22:41 ` Xue Fuqiao
@ 2013-10-28 4:09 ` Stephen J. Turnbull
2013-10-28 12:21 ` Rustom Mody
1 sibling, 1 reply; 46+ messages in thread
From: Stephen J. Turnbull @ 2013-10-28 4:09 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Rustom Mody, Jürgen Sauermann, emacs-devel
Stefan Monnier writes:
> While I agree that it might sounds unEmacsish, key-sequences aren't
> that bad compared to key-chords.
Not in my experience ... but I only use key-sequence-based input
methods for Spanish (<5% non-ASCII characters) and Japanese (80% of
characters requires multiple keystrokes no matter what input method
you use, and in the very popular "romanized phonetic" methods, all
characters do).
I cannot say I'd not be unhappy if the ratio got to 50% or so.
Steve
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-28 4:09 ` Stephen J. Turnbull
@ 2013-10-28 12:21 ` Rustom Mody
2013-10-28 12:40 ` Juergen Sauermann
0 siblings, 1 reply; 46+ messages in thread
From: Rustom Mody @ 2013-10-28 12:21 UTC (permalink / raw)
To: Stephen J. Turnbull; +Cc: Stefan Monnier, Jürgen Sauermann, emacs-devel
On Mon, Oct 28, 2013 at 9:39 AM, Stephen J. Turnbull <stephen@xemacs.org> wrote:
> Stefan Monnier writes:
>
> > While I agree that it might sounds unEmacsish, key-sequences aren't
> > that bad compared to key-chords.
>
> Not in my experience ... but I only use key-sequence-based input
> methods for Spanish (<5% non-ASCII characters) and Japanese (80% of
> characters requires multiple keystrokes no matter what input method
> you use, and in the very popular "romanized phonetic" methods, all
> characters do).
>
> I cannot say I'd not be unhappy if the ratio got to 50% or so.
>
> Steve
For the specific case at hand (apl-input):
I think that we have got (thanks David) to a solution.
$ setxkbmap -layout "us,apl" -variant ",sax" -option "grp:switch"
gives exactly (as far as I can tell) Juergen's solution -- a
chord-based one using alt -- so not nice for emacs users
With
$ setxkbmap -layout "us,apl" -variant ",sax" -option "grp:rswitch"
lalt works as before in emacs and ralt switches to apl layout
With
$ setxkbmap -layout "us,apl" -variant ",sax" -option "grp:alt_shift_toggle"
we can have a sequence based one -- alt-shift switching to apl and back
For the more general discussion: Is a key-seq preferable or a chord:
My general preference is to type as little as possible :-)
Combine that with the fact that a chord is bit more work than a single
key and a bit less than 2, we have:
single-key better than chord better than sequence
Clearly if we had to type-in ALLCAPS the capslock would be good.
Since mostly we never use allcaps, shift is better.
The same principle applies here: if I need to keep on giving some
input-method herald like '\' I would much rather give it once.
If one would look at typical APL code
eg http://aplwiki.com/FinnAplIdiomLibrary
one would quickly see why!
Rusi
--
http://www.the-magus.in
http://blog.languager.org
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-28 12:21 ` Rustom Mody
@ 2013-10-28 12:40 ` Juergen Sauermann
[not found] ` <CAJ+Teofv_2bHhdAvxsVRY8EYLQO6ERZ_zbAWh0FLQnUMndcfSg@mail.gmail.com>
0 siblings, 1 reply; 46+ messages in thread
From: Juergen Sauermann @ 2013-10-28 12:40 UTC (permalink / raw)
To: Rustom Mody; +Cc: Stephen J. Turnbull, Stefan Monnier, emacs-devel
Hi,
setxkbmap -layout "us,apl" -variant ",sax" -option "grp:switch"
gives me "Error loading new keyboard description" while
setxkbmap -layout "us,apl" -variant "sax" -option "grp:switch"
seems to work better.
However, I am getting ∊ for both rAlt and shift-rAlt (the latter should give, for example,
⍷ = U2377 instead). so the sax variant seems not to be understood.
/// Juergen
On 10/28/2013 01:21 PM, Rustom Mody wrote:
> setxkbmap -layout "us,apl" -variant ",sax" -option "grp:switch"
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-17 18:54 ` David De La Harpe Golden
2013-10-17 19:26 ` Stefan Monnier
@ 2013-10-18 7:06 ` Rustom Mody
1 sibling, 0 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-18 7:06 UTC (permalink / raw)
To: emacs-devel
On Fri, Oct 18, 2013 at 12:24 AM, David De La Harpe Golden
<david@harpegolden.net> wrote:
> (P.S. beware you may want to build gnu apl without color for now if
> doing that - its color support apparently isn't adaptive currently. Took me
> far too long to work out that my first build was working, just showing
> black-on-black...)
I got this from Juergen (author of gnu-apl) a few days ago:
Other points and your attachment and Stefan's suggestion look promising.
Will study and get back in a bit
---------- Forwarded message ----------
From: Juergen Sauermann
Date: Sat, Oct 12, 2013 at 9:20 PM
Subject: Colors for GNU APL
To: ...
Hello,
I have updated GNU APL which now supports a config file where you
can store some frequently used settings , in particular related to colors
(disabling colors and colors for terminals with e.g. black backgrounds).
See "info apl.info" for details.
An example file containing (commented out) settings for black backgrounds
is now installed with GNU APL. See e.g. /etc/gnu-apl.d/preferences (or whatever
your system configuration directory might be instead of /etc).
⍝ Jürgen
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-14 5:00 ` Rustom Mody
2013-10-14 6:45 ` Rustom Mody
2013-10-14 8:21 ` Xue Fuqiao
@ 2013-10-14 10:40 ` Rüdiger Sonderfeld
2 siblings, 0 replies; 46+ messages in thread
From: Rüdiger Sonderfeld @ 2013-10-14 10:40 UTC (permalink / raw)
To: emacs-devel; +Cc: Rustom Mody
On Monday 14 October 2013 10:30:42 Rustom Mody wrote:
> Heres a first cut attempt.
> F8 and F9 are made to be like dead-keys by making them emacs prefix keys.
> What do you think?
F8/F9 might be a bad choice because they are user keys. But overall you
approach seems like a good idea. APL programmers are certainly likely to use
the keyboard approach. I personally prefer the quail input method though.
But then again I use M-x quite often in Emacs as well instead of keybindings.
Regards,
Rüdiger
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-12 4:48 APL mode Rustom Mody
` (2 preceding siblings ...)
2013-10-13 12:42 ` Rüdiger Sonderfeld
@ 2013-10-14 17:03 ` David De La Harpe Golden
2013-10-14 19:48 ` Stefan Monnier
2013-10-15 3:15 ` Rustom Mody
3 siblings, 2 replies; 46+ messages in thread
From: David De La Harpe Golden @ 2013-10-14 17:03 UTC (permalink / raw)
To: Rustom Mody; +Cc: emacs-devel
On 12/10/13 05:48, Rustom Mody wrote:
> Is anyone working on this??
FWIW, for completeness, I can think of some other related work: A+
(another APL derived language, also GPL*) has long bundled an XEmacs
mode for A+ in its source tarball. However, you may well be better off
going your own way, IIRC it doesn't really adhere to emacsy conventions
and I don't think it was GNU Emacs compatible anyway.
http://www.aplusdev.org/APlusRefV2_52.html#HEADING605
(As it happens, J, a powerful ASCIIfied APL language, also went GPL
recently. No Free APL for ages than 3 come along at once, etc. (well, A+
has been free for a fairly long time))
* and bear in mind "GPL" doesn't mean "copyright assigned to FSF" -
relevant for emacs contribs.
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-14 17:03 ` David De La Harpe Golden
@ 2013-10-14 19:48 ` Stefan Monnier
2013-10-15 3:15 ` Rustom Mody
1 sibling, 0 replies; 46+ messages in thread
From: Stefan Monnier @ 2013-10-14 19:48 UTC (permalink / raw)
To: David De La Harpe Golden; +Cc: Rustom Mody, emacs-devel
BTW, we'd be happy to host an apl-mode, J-mode, or aplus-mode in
GNU ELPA.
Stefan
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: APL mode
2013-10-14 17:03 ` David De La Harpe Golden
2013-10-14 19:48 ` Stefan Monnier
@ 2013-10-15 3:15 ` Rustom Mody
1 sibling, 0 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-15 3:15 UTC (permalink / raw)
To: David De La Harpe Golden; +Cc: emacs-devel
On Mon, Oct 14, 2013 at 10:33 PM, David De La Harpe Golden
<david@harpegolden.net> wrote:
> On 12/10/13 05:48, Rustom Mody wrote:
>> Is anyone working on this??
> No Free APL for ages than 3 come along at once, etc. (well, A+ has
> been free for a fairly long time))
Another: see https://github.com/dlaurie/lua-apl
So 4 (at least)
>
> FWIW, for completeness, I can think of some other related work: A+ (another
> APL derived language, also GPL*) has long bundled an XEmacs mode for A+ in
> its source tarball. However, you may well be better off going your own way,
> IIRC it doesn't really adhere to emacsy conventions
> and I don't think it was GNU Emacs compatible anyway.
>
> http://www.aplusdev.org/APlusRefV2_52.html#HEADING605
Years ago I got APlus working with Xemacs (its clearly stated: not
compatible with gnu-emacs)
Then it stopped working (with xemacs that is -- some X issues?) and so
I hacked up something to make it work with gnu-emacs.
My work-in-progress page: http://www.emacswiki.org/emacs/AplInDebian
FWIW recently Xemacs is getting so bitrotten that debian has
unfortunately removed it:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670292
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725883
This does not mean it is unavailable or uninstallable but just much harder.
Multiply that by
- APlus is also getting obsolescent
- most people (in 2013) know little/nothing about APL
and clearly the barriers to entry (on the APlus-avenue) are only increasing.
Note for a super-ace programmer (which means not me!) all these
different APLs could be supported under one umbrella in (gnu)emacs.
This entails:
1. Completing a unicode-based set of modes for Apl and inferior Apl
2. Making an latin-ish encoding for APlus
3. Having some configuation flags so that the base unicode encoding
can be converted if necessary on file-saving/process-sending
[My WIP http://www.emacswiki.org/emacs/AplInDebian basically tries to
do this but without making a new latin-ish encoding -- needless to say
it works sometimes and fails many times :-) ]
So... APL seems to be making a mini resurgence.
Anyone wanting to give a helping hand in putting emacs into the
picture will be gratefully accepted :-)
Rusi
--
http://www.the-magus.in
http://blog.languager.org
^ permalink raw reply [flat|nested] 46+ messages in thread
* APL mode
@ 2013-10-12 5:01 Rustom Mody
0 siblings, 0 replies; 46+ messages in thread
From: Rustom Mody @ 2013-10-12 5:01 UTC (permalink / raw)
To: emacs-devel
Resending my last message in plain text.
Sorry for the inconvenience!
----------------------------------------------------------
Hello all!
As some of you may know Gnu Apl has been very recently released
http://www.gnu.org/software/apl/
I feel in the modern unicoded world, APL may be more usable than it
has ever been, so having a modern (unicode-based) Apl running on
Gnu/Linux systems is quite a big thing. [Well at least for some
old-fogeys :-) ]
I asked the author Juergen Sauermann if there was an emacs mode.
He asked 'Whats a mode? " :-) . He agreed that if I provided one he
would put it in.
Is anyone working on this??
For the time being Ive put together something minimal by
a. taking scheme.el, cmuscheme.el
b. search-replace-ing scheme by apl
c. Do the minimal hacking required to make it work
d. Throw out obviously unneeded parts (like DSSSL stuff)
Also looking at perl and ada modes for characters, fontlock etc.
Any preferable sources to study/copy from?
I tried to study C-mode(s) but it was too vast to make sense :-(
About syntax:
What does sexp mean for non-lisp languages like C etc?
(Needed for functions like forward-sexp)
About Font lock:
APL is notorious for being unreadable. This is related to having
almost no keywords and only weird characters.
Having a good coloration for different categories of characters will
help a long way.
Is there somewhere I can 8-10 different faces ready?
And how faces are used in programming modes?
Input methods:
Current input method supplied by Juergen is xmodmap based.
We need other more emacsy method(s). I'll write about that
subsequently, if I can get the above working :-)
Rusi
--
http://blog.languager.org
^ permalink raw reply [flat|nested] 46+ messages in thread
end of thread, other threads:[~2013-10-28 19:45 UTC | newest]
Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-12 4:48 APL mode Rustom Mody
2013-10-12 7:25 ` Thien-Thi Nguyen
2013-10-12 14:26 ` Stefan Monnier
2013-10-12 16:09 ` Rustom Mody
2013-10-12 19:08 ` Stefan Monnier
2013-10-13 6:45 ` Stephen J. Turnbull
2013-10-13 6:59 ` Rustom Mody
2013-10-13 11:10 ` Stephen J. Turnbull
2013-10-13 14:04 ` Rustom Mody
2013-10-13 15:35 ` Stephen J. Turnbull
2013-10-13 16:11 ` Ivan Andrus
2013-10-13 12:42 ` Rüdiger Sonderfeld
2013-10-13 14:47 ` Rustom Mody
2013-10-13 15:24 ` Rüdiger Sonderfeld
2013-10-14 5:00 ` Rustom Mody
2013-10-14 6:45 ` Rustom Mody
2013-10-14 13:34 ` Stefan Monnier
2013-10-14 8:21 ` Xue Fuqiao
2013-10-14 11:08 ` Rustom Mody
2013-10-17 18:54 ` David De La Harpe Golden
2013-10-17 19:26 ` Stefan Monnier
2013-10-20 13:57 ` Rustom Mody
2013-10-21 10:46 ` Xue Fuqiao
2013-10-21 13:03 ` Stefan Monnier
2013-10-25 19:09 ` Rustom Mody
2013-10-26 1:40 ` Stefan Monnier
2013-10-26 4:38 ` Rustom Mody
2013-10-26 10:35 ` Juergen Sauermann
2013-10-26 11:42 ` Rustom Mody
2013-10-26 15:40 ` David De La Harpe Golden
2013-10-26 16:48 ` Rustom Mody
2013-10-26 17:41 ` Rustom Mody
2013-10-26 17:48 ` David De La Harpe Golden
2013-10-27 5:08 ` Stefan Monnier
2013-10-27 22:41 ` Xue Fuqiao
2013-10-28 4:09 ` Stephen J. Turnbull
2013-10-28 12:21 ` Rustom Mody
2013-10-28 12:40 ` Juergen Sauermann
[not found] ` <CAJ+Teofv_2bHhdAvxsVRY8EYLQO6ERZ_zbAWh0FLQnUMndcfSg@mail.gmail.com>
[not found] ` <526E669E.60501@t-online.de>
[not found] ` <CAJ+TeofjYsy4eLDr=aM3Vo36=76zipbn7HmXcm59YNwkgLoaSg@mail.gmail.com>
[not found] ` <526E7EC3.3050305@t-online.de>
[not found] ` <526E967F.3010903@harpegolden.net>
[not found] ` <526E9DCE.8080504@t-online.de>
2013-10-28 17:42 ` Rustom Mody
2013-10-28 19:45 ` David De La Harpe Golden
2013-10-18 7:06 ` Rustom Mody
2013-10-14 10:40 ` Rüdiger Sonderfeld
2013-10-14 17:03 ` David De La Harpe Golden
2013-10-14 19:48 ` Stefan Monnier
2013-10-15 3:15 ` Rustom Mody
-- strict thread matches above, loose matches on Subject: below --
2013-10-12 5:01 Rustom Mody
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).