Parens matching in C mode is sometimes surprising. In the example below, double-clicking on either of the first two opening parentheses will mark the text until the " hyper_modifier : 0)", but that is correct only for the second paren, while the first one is unmatched due to a space following the backslash. #define EV_MODIFIERS(e) \ ((([e modifierFlags] & NSHelpKeyMask) ? \ hyper_modifier : 0) \ ... It would be more useful if an "unmatched parentheses" was shown, or if the region up to the end of the scan process (i.e. the space+newline) was marked. In GNU Emacs 23.1.92.86 (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25) of 2010-02-08 on scarlett.local - Aquamacs Distribution 2.0dev Windowing system distributor `Apple', version 10.3.1038 configured using `configure '--with-ns' 'CFLAGS=-O0 -g'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: ObjC/l Minor modes in effect: diff-auto-refine-mode: t which-function-mode: t savehist-mode: t smart-frame-positioning-mode: t aquamacs-autoface-mode: t recentf-mode: t osx-key-mode: t tabbar-mwheel-mode: t tabbar-mode: t show-paren-mode: t delete-selection-mode: t pc-selection-mode: t cua-mode: t tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t Recent input: | | | ⌘X ⌘V SPC \ SPC \ ) ) ⌘S X C - M O D E X O B ⌘S ⌘C Recent messages: Auto-saving... Mark set [4 times] Auto-saving...done Auto-saving...done Mark set Auto-saving...done Auto-saving...done Saving file /Users/dr/ae.git/src/nsterm.m... Wrote /Users/dr/ae.git/src/nsterm.m (No changes need to be saved) Load-path shadows: /Users/dr/Library/Preferences/Aquamacs Emacs/Recent Files hides /Users/dr/Library/Preferences/Aquamacs Emacs/Aquamacs Emacs2/Recent Files /Users/dr/Library/Preferences/Aquamacs Emacs/Preferences hides /Users/dr/Library/Preferences/Aquamacs Emacs/Aquamacs Emacs2/Preferences /Users/dr/Library/Preferences/Aquamacs Emacs/places hides /Users/dr/Library/Preferences/Aquamacs Emacs/Aquamacs Emacs2/places /Users/dr/Library/Preferences/Aquamacs Emacs/minibuffer-history hides /Users/dr/Library/Preferences/Aquamacs Emacs/Aquamacs Emacs2/minibuffer-history /Users/dr/Library/Preferences/Aquamacs Emacs/frame-positions hides /Users/dr/Library/Preferences/Aquamacs Emacs/Aquamacs Emacs2/frame-positions /Users/dr/Library/Preferences/Aquamacs Emacs/customizations hides /Users/dr/Library/Preferences/Aquamacs Emacs/Aquamacs Emacs2/customizations /Library/Application Support/Aquamacs Emacs/JDEE/site-start hides /Library/Application Support/Aquamacs Emacs/SLIME/site-start /Library/Application Support/Aquamacs Emacs/JDEE/cedet/speedbar/speedbar hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/speedbar /Library/Application Support/Aquamacs Emacs/JDEE/cedet/speedbar/sb-image hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/sb-image /Library/Application Support/Aquamacs Emacs/JDEE/cedet/common/ezimage hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/ezimage /Library/Application Support/Aquamacs Emacs/JDEE/cedet/speedbar/dframe hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/dframe /Library/Application Support/Aquamacs Emacs/JDEE/cedet/eieio/eieio hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/emacs-lisp/eieio /Library/Application Support/Aquamacs Emacs/JDEE/cedet/eieio/eieio-speedbar hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/emacs-lisp/eieio-speedbar /Library/Application Support/Aquamacs Emacs/JDEE/cedet/eieio/eieio-opt hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/emacs-lisp/eieio-opt /Library/Application Support/Aquamacs Emacs/JDEE/cedet/eieio/eieio-custom hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/emacs-lisp/eieio-custom /Library/Application Support/Aquamacs Emacs/JDEE/cedet/eieio/eieio-comp hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/emacs-lisp/eieio-comp /Library/Application Support/Aquamacs Emacs/JDEE/cedet/eieio/eieio-base hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/emacs-lisp/eieio-base /Library/Application Support/Aquamacs Emacs/JDEE/cedet/eieio/chart hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/emacs-lisp/chart /Library/Application Support/Aquamacs Emacs/JDEE/cedet/semantic/semantic hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/cedet/semantic /Library/Application Support/Aquamacs Emacs/JDEE/cedet/common/mode-local hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/cedet/mode-local /Library/Application Support/Aquamacs Emacs/JDEE/cedet/common/inversion hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/cedet/inversion /Library/Application Support/Aquamacs Emacs/JDEE/cedet/ede/ede hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/cedet/ede /Library/Application Support/Aquamacs Emacs/JDEE/cedet/common/cedet hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/cedet/cedet /Library/Application Support/Aquamacs Emacs/JDEE/cedet/common/cedet-files hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/cedet/cedet-files /Library/Application Support/Aquamacs Emacs/JDEE/site-start hides /Users/dr/ae.git/nextstep/Aquamacs.app/Contents/Resources/lisp/aquamacs/site-start Features: (shadow sort mail-extr message ecomplete rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode mailabbrev nnheader gnus-util netrc gmm-utils mailheader canlock sha1 hex-util hashcash emacsbug cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs log-edit ring pcvs-util add-log diff-mode vc vc-dispatcher cl-specs edebug multi-isearch jka-compr find-func vc-git url-http tls url-auth mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums url-gw url-cache url url-proxy url-privacy url-expand url-methods url-history url-cookie url-util url-parse url-vars mm-util mail-prsvr mailcap mail-utils which-func imenu slime-autoloads load-emacs-plugins aquamacs-mode-defaults auctex-config server tex-site smart-dnd aquamacs-aux savehist mouse-sel one-buffer-one-frame smart-frame-positioning drews_init color-theme-autoloads saveplace visual-line aquamacs-bug aquamacs-autoface-mode aquamacs-editing sendmail recentf tree-widget cus-edit osxkeys emulate-mac-keyboard-mode frame-cmds strings misc-fns thingatpt+ thingatpt frame-fns avoid aquamacs-mac-fontsets fit-frame aquamacs-frame-setup aquamacs-tabbar tabbar-window cl cl-19 tabbar easy-mmode cus-start cus-load load-emacs-pre-plugins aquamacs-site-start cocoa-compatibility filladapt aquamacs-redo check-for-updates aquamacs-menu osx_defaults aquamacs-tool-bar aquamacs mac-extra-functions aquamacs-tools aquamacs-macros parse-time timezone time-date paren delsel pc-select cua-base wid-edit regexp-opt advice advice-preload byte-opt bytecomp byte-compile debug help-fns help-mode view image-file disp-table tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process ns multi-tty emacs)