Package: emacs;
Reported by: James Ahlborn <jahlborn <at> gmail.com>
Date: Thu, 19 May 2011 20:46:03 UTC
Severity: normal
Found in version 23.2
Fixed in version 24.1
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: James Ahlborn <jahlborn <at> gmail.com> Subject: bug#8704: closed (Re: bug#8704: 23.2; nxml-mode function nxml-electric-slash not indenting when completing) Date: Fri, 20 May 2011 13:16:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report #8704: 23.2; nxml-mode function nxml-electric-slash not indenting when completing which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 8704 <at> debbugs.gnu.org. -- 8704: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8704 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: James Ahlborn <jahlborn <at> gmail.com> Cc: 8704-done <at> debbugs.gnu.org Subject: Re: bug#8704: 23.2; nxml-mode function nxml-electric-slash not indenting when completing Date: Fri, 20 May 2011 10:15:45 -0300Version: 24.1 > 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). Indeed, this looks like an odd choice (if anything, I'd have expected the reindent to be disabled when nxml-slash-auto-complete-flag is disabled rather than when it's enabled). So I've applied the change you suggest to the trunk. Thank you, Stefan === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-05-20 00:51:46 +0000 +++ lisp/ChangeLog 2011-05-20 13:12:51 +0000 @@ -1,3 +1,8 @@ +2011-05-20 Stefan Monnier <monnier <at> iro.umontreal.ca> + + * nxml/nxml-mode.el (nxml-electric-slash): Reindent when completion is + enabled. Suggested by James Ahlborn <jahlborn <at> gmail.com> (bug#8704). + 2011-05-20 Nix <nix <at> esperi.org.uk> * files.el (basic-save-buffer-2): === modified file 'lisp/nxml/nxml-mode.el' --- lisp/nxml/nxml-mode.el 2011-01-26 08:36:39 +0000 +++ lisp/nxml/nxml-mode.el 2011-05-20 13:10:18 +0000 @@ -1263,9 +1263,9 @@ (nxml-scan-error nil)) (when (and (eq (nxml-token-before) (point)) (eq xmltok-type 'partial-empty-element)) - (insert ">"))) + (insert ">")))) (when (and end-tag-p at-indentation) - (nxml-indent-line)))))) + (nxml-indent-line))))) (defun nxml-balanced-close-start-tag-block () "Close the start-tag before point with `>' and insert a balancing end-tag.
[Message part 3 (message/rfc822, inline)]
From: James Ahlborn <jahlborn <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 23.2; nxml-mode function nxml-electric-slash not indenting when completing Date: Thu, 19 May 2011 16:43:49 -0400[Message part 4 (text/plain, inline)]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: <backspace> <backspace> <backspace> t h e SPC a r <backspace> <backspace> t a r g e t SPC l o o p SPC k e y SPC <backspace> s SPC s e t <down> <down> <down> <left> <left> s o u <tab> C-x C-s <up> <up> <up> <up> C-c b <home> C-s n o d e <C-left> <C-left> C-SPC <C-right> <C-right> M-w C-x o C-a <up> <C-right> <C-backspace> C-x C-s <down> <down> <down> <down> <down> <down> <M-up> <M-down> C-x C-s <up> <up> <up> <up> <f7> <return> <help-echo> <help-echo> <up> <f7> <C-backspace> <C-backspace> <C-backspace> <C-backspace> <C-backspace> <C-backspace> <backspace> <return> C-x o C-c C-k C-x o C-x b e n <return> <home> C-s p r i n t l n C-a C-SPC <down> M-; C-s C-s <up> C-x C-s <f7> <return> <down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> C-c r ! C-x b f i l <return> <C-f6> n a n n n a n n n n q y C-x C-s <f7> <return> <help-echo> M-x f i n d - f u n c <tab> <return> i m e n u - d e f <tab> c r <tab> C-g C-x o M-. T r a n s f o r m E n <tab> T <tab> <return> <help-echo> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-5> <mouse-5> M-x f i n d - l o <tab> <return> j t a - e m <tab> <return> C-s n x m l <down> C-a C-SPC <down> <down> <down> M-w <down-mouse-5> <mouse-5> <down-mouse-1> <mouse-1> M-x r e p o r t - e <tab> <return> 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)[Message part 5 (text/html, inline)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.