all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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)


  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.