From: Joost Kremers <joost.m.kremers@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: .emacs poser
Date: 17 Dec 2013 21:15:00 GMT [thread overview]
Message-ID: <slrnlb1fmk.37l.joost.m.kremers@j.kremers4.news.arnhem.chello.nl> (raw)
In-Reply-To: mailman.9492.1387293902.10748.help-gnu-emacs@gnu.org
Doug Lewan wrote:
> I'm surprised that there's only one mention of input methods and so
> much about composing characters, which is, as you point out, a little
> clumsy.
Yeah, my thoughts exactly.
> It's easy to extend an input method with new rules. I frequently use
> the latin-1-prefix mode for a handful of special characters that I
> use. The lisp to add my rules looks like this:
>
> (setq default-input-method "latin-1-prefix")
> (let ((quail-setup-buf (get-buffer-create "*Quail setup*")))
> (save-excursion (set-buffer quail-setup-buf)
> (toggle-input-method)
> ;; MAINTENANCE Look for SYMBOLS
> (quail-defrule ":A" ?∀)
> (quail-defrule ":E" ?∃)
> (quail-defrule ":e" ?∈)
> ...))
It's also possible to define completely new input methods. I load the
following code from my init.el:
(quail-define-package
"arabic-trans" "Ar-trans" "A>" t
"Input method for Arabic transcription."
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
(".-" ?ʔ) ;; U0294 # IPA GLOTTAL STOP
("-A" ?Ā) ;; U0100 # LATIN CAPITAL LETTER A WITH MACRON
("-a" ?ā) ;; U0101 # LATIN SMALL LETTER A WITH MACRON
("-D" ?Ḏ) ;; U1E0E # LATIN CAPITAL LETTER D WITH LINE BELOW
("-d" ?ḏ) ;; U1E0F # LATIN SMALL LETTER D WITH LINE BELOW
...)
> I also notice this comment near that code:
> ;; This seems rather a bit of a hack.
> That was my sense long ago; I don't know if that's really a fair sentiment anymore.
Well, one thing that I find strange about defining input methods is that
the functions to define rules do not say to which input method the new
rule should be added. Apparently, quail-defrule adds the rule to the
current input method, while quail-define-rules seems to add them to the
most recently defined one.
Another thing that I find mildly annoying about input methods is that
even though you can set default-input-method, you still need to switch
input methods yourself. Every new buffer starts out without an input
method, so you need to do `C-\` first.
Other than that, I think they're the best way to input non-ASCII
characters.
--
Joost Kremers joostkremers@fastmail.fm
Selbst in die Unterwelt dringt durch Spalten Licht
EN:SiS(9)
next prev parent reply other threads:[~2013-12-17 21:15 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-17 0:01 .emacs poser B. T. Raven
2013-12-17 0:36 ` Emanuel Berg
2013-12-17 1:48 ` Dale Snell
2013-12-17 2:46 ` Drew Adams
[not found] ` <mailman.9443.1387244913.10748.help-gnu-emacs@gnu.org>
2013-12-17 2:03 ` Emanuel Berg
2013-12-17 2:58 ` Dale Snell
2013-12-17 5:53 ` Jambunathan K
[not found] ` <mailman.9453.1387249112.10748.help-gnu-emacs@gnu.org>
2013-12-17 3:16 ` Emanuel Berg
2013-12-17 5:32 ` Dale Snell
2013-12-17 6:27 ` Tilman Ahr
2013-12-17 16:42 ` Emanuel Berg
2013-12-18 2:25 ` Tilman Ahr
2013-12-18 21:17 ` Emanuel Berg
2013-12-18 3:01 ` Yuri Khan
[not found] ` <mailman.9542.1387335681.10748.help-gnu-emacs@gnu.org>
2013-12-18 21:23 ` Emanuel Berg
2013-12-19 1:13 ` Yuri Khan
[not found] ` <mailman.9626.1387415627.10748.help-gnu-emacs@gnu.org>
2013-12-20 1:40 ` Emanuel Berg
[not found] ` <mailman.9460.1387258387.10748.help-gnu-emacs@gnu.org>
2013-12-17 16:17 ` Emanuel Berg
2013-12-17 17:36 ` Dale Snell
[not found] ` <mailman.9507.1387301817.10748.help-gnu-emacs@gnu.org>
2013-12-17 17:41 ` Emanuel Berg
2013-12-17 3:06 ` Yuri Khan
2013-12-17 15:17 ` Drew Adams
2013-12-18 1:38 ` Yuri Khan
2013-12-17 7:41 ` Kevin Rodgers
2013-12-17 15:24 ` Doug Lewan
[not found] ` <mailman.9465.1387266001.10748.help-gnu-emacs@gnu.org>
2013-12-17 15:40 ` Sebastien Vauban
2013-12-17 16:29 ` Drew Adams
2013-12-17 16:49 ` Emanuel Berg
2013-12-17 18:20 ` Eli Zaretskii
[not found] ` <mailman.9492.1387293902.10748.help-gnu-emacs@gnu.org>
2013-12-17 17:14 ` Emanuel Berg
2013-12-17 17:16 ` Emanuel Berg
2013-12-17 19:04 ` Doug Lewan
[not found] ` <mailman.9512.1387307070.10748.help-gnu-emacs@gnu.org>
2013-12-17 22:42 ` Emanuel Berg
2013-12-17 23:35 ` Doug Lewan
2013-12-17 21:15 ` Joost Kremers [this message]
2013-12-17 22:44 ` Emanuel Berg
2013-12-17 23:25 ` Emanuel Berg
2013-12-18 3:22 ` Jambunathan K
[not found] ` <mailman.9544.1387337046.10748.help-gnu-emacs@gnu.org>
2013-12-18 21:42 ` Emanuel Berg
[not found] ` <mailman.9628.1387418319.10748.help-gnu-emacs@gnu.org>
2013-12-19 2:52 ` Emanuel Berg
2013-12-19 3:00 ` Emanuel Berg
2013-12-20 5:31 ` Jambunathan K
2013-12-20 5:38 ` Jambunathan K
[not found] ` <mailman.9724.1387517532.10748.help-gnu-emacs@gnu.org>
2013-12-20 17:52 ` Emanuel Berg
2013-12-27 6:00 ` B. T. Raven
2013-12-27 14:12 ` Yuri Khan
2013-12-27 16:11 ` Drew Adams
[not found] ` <mailman.10526.1388160732.10748.help-gnu-emacs@gnu.org>
2013-12-29 22:17 ` B. T. Raven
2013-12-29 23:48 ` Drew Adams
2013-12-20 1:52 ` Jambunathan K
2013-12-19 22:24 ` Joost Kremers
2013-12-19 23:16 ` Emanuel Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=slrnlb1fmk.37l.joost.m.kremers@j.kremers4.news.arnhem.chello.nl \
--to=joost.m.kremers@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.