in older versions of emacs/nxml-mode the nxml-electric-slash function would both complete the close tag and auto-indent the close tag. in the latest emacs version, it seems to do one or the other. i *think* this is an oversight, and the old functionality can be easily fixed by moving the final (when ...) block outside of the (if nxml-slash-auto-complete-flag ...) block (so that the indenting is done regardless of whether or not completion is enabled). In GNU Emacs 23.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1) of 2010-09-01 on pluot, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.10706000 configured using `configure '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' Important settings: value of $LC_ALL: C value of $LC_COLLATE: nil value of $LC_CTYPE: en_US.UTF-8 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: nil default enable-multibyte-characters: t Major mode: JDE Minor modes in effect: nxml-which-path-mode: t flymake-mode: t semantic-mru-bookmark-mode: t semantic-idle-summary-mode: t semantic-idle-scheduler-mode: t senator-minor-mode: t jde-plugin-minor-mode: t jde-jdb-minor-mode: t desktop-save-mode: t display-time-mode: t shell-dirtrack-mode: t which-dir-mode: t recentf-mode: t icomplete-mode: t global-hl-line-mode: t linum-mode: t autopair-mode: t autopair-global-mode: t auto-image-file-mode: t delete-selection-mode: t show-paren-mode: t auto-insert-mode: t which-function-mode: t operator-show-mode: t page-break-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t hs-minor-mode: t Recent input: t h e SPC a r t a r g e t SPC l o o p SPC k e y SPC s SPC s e t s o u C-x C-s C-c b C-s n o d e C-SPC M-w C-x o C-a C-x C-s C-x C-s C-x o C-c C-k C-x o C-x b e n C-s p r i n t l n C-a C-SPC M-; C-s C-s C-x C-s C-c r ! C-x b f i l n a n n n a n n n n q y C-x C-s M-x f i n d - f u n c i m e n u - d e f c r C-g C-x o M-. T r a n s f o r m E n T M-x f i n d - l o j t a - e m C-s n x m l C-a C-SPC M-w M-x r e p o r t - e Recent messages: Loading /home/jahlborn/src/tmp/container/jde-prj.el (source)...done Loading /home/jahlborn/src/tmp/container/transform/jde-prj.el (source)...done [4 times] Quit [2 times] Loading /home/jahlborn/src/tmp/container/jde-prj.el (source)...done Loading /home/jahlborn/src/tmp/container/transform/jde-prj.el (source)...done [2 times] Making tags completion table for /home/jahlborn/src/tmp/container/TAGS...done Loading /home/jahlborn/src/tmp/container/jde-prj.el (source)...done Loading /home/jahlborn/src/tmp/container/transform/jde-prj.el (source)...done [2 times] Mark saved where search started Mark set Load-path shadows: /home/jahlborn/lib/emacs-23/psvn hides /usr/share/emacs/site-lisp/psvn /usr/share/emacs/23.2/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup /home/jahlborn/lib/emacs-23/cedet/common/ezimage hides /usr/share/emacs/23.2/lisp/ezimage /home/jahlborn/lib/emacs-23/cedet/speedbar/sb-image hides /usr/share/emacs/23.2/lisp/sb-image /home/jahlborn/lib/emacs-23/cedet/speedbar/speedbar hides /usr/share/emacs/23.2/lisp/speedbar /home/jahlborn/lib/emacs-23/cedet/speedbar/dframe hides /usr/share/emacs/23.2/lisp/dframe /usr/share/emacs23/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/23.2/lisp/textmodes/flyspell /usr/share/emacs23/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/23.2/lisp/textmodes/ispell /home/jahlborn/lib/emacs-23/flymake hides /usr/share/emacs/23.2/lisp/progmodes/flymake /home/jahlborn/lib/emacs-23/cedet/eieio/eieio hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio /home/jahlborn/lib/emacs-23/cedet/eieio/eieio-speedbar hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-speedbar /home/jahlborn/lib/emacs-23/cedet/eieio/eieio-comp hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-comp /home/jahlborn/lib/emacs-23/cedet/eieio/eieio-datadebug hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-datadebug /home/jahlborn/lib/emacs-23/cedet/eieio/chart hides /usr/share/emacs/23.2/lisp/emacs-lisp/chart /home/jahlborn/lib/emacs-23/cedet/eieio/eieio-opt hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-opt /home/jahlborn/lib/emacs-23/cedet/eieio/eieio-custom hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-custom /home/jahlborn/lib/emacs-23/cedet/eieio/eieio-base hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-base Features: (shadow sort mail-extr message sendmail ecomplete rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gmm-utils mailheader canlock sha1 hex-util hashcash mail-utils emacsbug semantic-el semantic-bovine bovine-debug semantic-debug vc ediff-vers ini-mode newcomment cperl-mode ede-linux ede-emacs ede-cpp-root semantic-dep semantic-analyze-complete semantic-tag-ls semantic-tag-file multi-isearch edmacro kmacro semantic-tag-write nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-which-path nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok semanticdb-typecache semanticdb-find semanticdb-ref semantic-edit pom-parser jde-javadoc-helper java-mode-indent-annotations wisent-java wisent-java-wy semantic-wisent wisent jde-loader jta-jde-util find-lisp jde-eclipse-compiler-server flymake jde-hippie semantic-decorate-mode semantic-decorate pulse semantic-mru-bookmark semanticdb-ebrowse ebrowse ebuff-menu electric view semanticdb-file cedet-files semanticdb-mode jde jde-annotations jde-open-source jde-bsh jde-parse-expr jde-class jde-parse-class jde-import semantic-find jde-java-font-lock jde-which-method jde-java-grammar jde-wiz jde-complete semantic-idle eldoc senator warnings jde-plugins executable jde-gen tempo jde-run jde-jdb jde-bug jde-dbs jde-dbo regress jde-db jde-parse sregex jde-imenu semantic-imenu semantic-java semantic-doc avl-tree semantic-sb jde-compile cus-edit cus-start cus-load cc-mode cc-menus cc-cmds cc-styles cc-align jde-help jde-widgets beanshell lmenu jde-custom jde-project-file jde-util arc-mode archive-mode efc jde-autoload jta-jde-gen-config cedet cedet-contrib-load contrib-loaddefs cogre-load cogre-loaddefs speedbar-load speedbar-loaddefs ede-load ede-loaddefs ede-speedbar ede-files ede ede-base ede-auto eieio-speedbar semantic-ia-sb semantic-analyze semantic-scope semantic-analyze-fcn semantic-sort semanticdb-el semanticdb semantic-ctxt semantic-format semantic-util-modes semantic-util semantic semantic-lex semantic-tag working fame speedbar sb-image ezimage dframe eieio-custom ede-source eieio-base srecode-load srecode srecode-loaddefs semantic-load semantic-fw semantic-loaddefs mode-local find-func derived eieio-load eieio-loaddefs cedet-load cedet-compat cedet-loaddefs eieio inversion vc-dispatcher vc-svn jta-tags etags-select gtags etags disp-table jta-emacs server jta-keybindings hippie-exp dabbrev desktop-menu desktop xcscope time fold-dwim hideshow doxygen tramp-sudo tramp-imap assoc tramp-gw tramp-gvfs zeroconf url-parse url-vars mm-util mail-prsvr dbus xml tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp auth-source gnus-util netrc time-date shell password-cache format-spec tramp-compat trampver ange-ftp diminish keep-buffers java-helper cc-fonts cc-engine cc-vars cc-defs javadoc-helper cc-helper which-dir buffer-create-util anchored-transpose recentf tree-widget icomplete ido-util ido iswitchb hl-line linum autopair filladapt image-file uniquify moccur-edit color-moccur toggle-case eol-conversion find-file jgrep find-dired dired-sort-menu dired regexp-opt find-recursive shell-toggle vkill ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff ffap jta-emacs-20 delsel paren c-comment-edit autorevert noutline outline easy-mmode autoinsert vti-doc jta-util which-func imenu telnet time-stamp browse-url byte-opt bytecomp byte-compile advice help-fns advice-preload thingatpt jta-color-theme color-theme easymenu wid-edit cl cl-19 compile comint ring tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd font-setting 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 dbusbind system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)