That said, it would be nice if lisp used square brackets for this instead. Easier to type on boring old US QWERTY.
;; Make [] == ()
(set-syntax-from-char #\[ #\( )
(defun lbrace-reader (stream inchar)
(declare (ignore inchar))
(read-delimited-list #\] stream t))
(set-macro-character #\[ #'lbrace-reader)
(set-macro-character #\] (get-macro-character #\) ))
(set-syntax-from-char #\] #\) )> Apple does not provide a way to do these remappings on OS X
Run Emacs (or XEmacs) under XQuartz and you can do whatever remapping you want. This is how I deal with it.
Another choice is a fully programmable keyboard, though these also tend to have nonstandard layouts that require some retraining.
And unless you do need X, I suggest using Emacs-Mac-Port instead of of the official Emacs: https://bitbucket.org/mituharu/emacs-mac/overview
Guile Scheme, for example:
scheme@(guile-user)> [list 1 2 3]
$1 = (1 2 3)
scheme@(guile-user)> (list 1 2 3)
$2 = (1 2 3)
scheme@(guile-user)> [car '[1 2 3]]
$3 = 1I only have a cursory familiarity with lisps but I constantly find that too easy to miss.
So I’m going to be against this.
$ setxkbmap -option parens:swap_brackets