GNU bug report logs - #6776
24.0.50; nxml mode binds completion to c-return

Previous Next

Package: emacs;

Reported by: joakim <at> verona.se

Date: Mon, 2 Aug 2010 07:53:01 UTC

Severity: minor

Merged with 11086

Found in versions 24.0.50, 24.0.94

Done: Chong Yidong <cyd <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 6776 in the body.
You can then email your comments to 6776 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6776; Package emacs. (Mon, 02 Aug 2010 07:53:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to joakim <at> verona.se:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 02 Aug 2010 07:53:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: joakim <at> verona.se
To: bug-gnu-emacs <at> gnu.org
Subject: 24.0.50; nxml mode binds completion to c-return
Date: Mon, 02 Aug 2010 09:52:34 +0200
nxml mode does this:
  (define-key map [C-return] 'nxml-complete)

which isnt exactly a bug, but its annoying. Its annoying because mode
specific completions should go somewhere consistent, such as M-tab, a
binding which I dont like either, but at least most modes put their
completion functionality there.

Heres some further info from nxml mode:

,----
| nxml-bind-meta-tab-to-complete-flag is a variable defined in `nxml-mode.el'.
| Its value is nil
| 
| Documentation:
| *Non-nil means bind M-TAB in `nxml-mode-map' to `nxml-complete'.
| C-return will be bound to `nxml-complete' in any case.
| M-TAB gets swallowed by many window systems/managers, and
| `documentation' will show M-TAB rather than C-return as the
| binding for `nxml-complete' when both are bound.  So it's better
| to bind M-TAB only when it will work.
`----

So the mode expresses an opinion that c-return should always complete,
but m-tab not always complete. I think it should be the other way
around. Esc-tab always works in all window managers etc, and I also
think completion should be solved once and for all in the core of Emacs,
not left to various modes to opinionate about.

Ok, the real reason I find this infuriating is that I want to use
c-return for other-window, which is now very inconvenient. The keymaps
are already polluted enough.


In GNU Emacs 24.0.50.12 (i686-pc-linux-gnu, GTK+ Version 2.18.9)
 of 2010-06-26 on localhost.localdomain
Windowing system distributor `Fedora Project', version 11.0.10802000
configured using `configure  '--with-imagemagick''

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.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  yas/global-mode: t
  yas/minor-mode: t
  erc-truncate-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-spelling-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-netsplit-mode: t
  erc-log-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-autojoin-mode: t
  erc-autoaway-mode: t
  ido-everywhere: t
  eldoc-mode: t
  erc-stamp-mode: t
  erc-match-mode: t
  delete-selection-mode: t
  show-paren-mode: t
  erc-smiley-mode: t
  erc-irccontrols-mode: t
  recentf-mode: t
  senator-minor-mode: t
  which-function-mode: t
  semantic-mru-bookmark-mode: t
  semantic-idle-summary-mode: t
  semantic-idle-scheduler-mode: t
  semantic-decoration-mode: t
  semantic-highlight-func-mode: t
  semantic-stickyfunc-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <down> <down> <down> 
<down> C-a <up> <up> <up> <up> M-% " u <return> " - 
<return> C-a M-% C-g M-s C-g M-s M-r C-a <C-right> 
<right> C-SPC <C-right> <C-right> <right> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
M-w C-a M-% C-y <return> C-y <backspace> - <return> 
! C-x C-s <prior> <prior> C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-a C-SPC C-p C-SPC C-n C-SPC C-M-x 
C-SPC <next> C-v C-v C-p M-x n a r r o SPC t SPC SPC 
r SPC <return> M-< C-x h M-x s o r t SPC l SPC <return> 
C-n C-n C-n C-n <down> <down> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <down> <up> C-s C-w C-w C-w 
C-e C-SPC C-a C-s C-w C-a C-g C-SPC C-e C-a C-g C-SPC 
C-e C-s M-w C-z M-< <next> <prior> M-< C-SPC C-e C-s 
M-y C-g C-h k C-s <C-return> <C-return> <C-return> 
<C-return> <C-return> C-x o <C-return> C-h k <C-return> 
<C-return> C-x o <tab> <return> C-x C-w C-g C-x 1 <C-right> 
<C-right> <C-left> C-r C-w C-w C-r C-r C-r C-r <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <down> <down> <down> <down> <down> <down> 
C-a C-SPC C-e M-w C-a M-x r e p o SPC r SPC e m SPC 
SPC b SPC <return>

Recent messages:
Quit
Type C-x 1 to delete the help window, C-M-v to scroll help.
Cannot complete in this context [6 times]
mouse-2, RET: find function's definition
uncompressing nxml-mode.el.gz...done
Loading semanticdb-file...done [2 times]
Quit
Mark saved where search started
Mark set
Making completion list... [2 times]

Load-path shadows:
~/.elisp/emms/lisp/jack hides /home/joakim/.elisp/jack
~/.emacs.d/predictive/tNFA hides /home/joakim/.elisp/tNFA
/home/joakim/.emacs.d/elpa/mediawiki-1.1/mediawiki hides /home/joakim/.elisp/mediawiki
~/.emacs.d/predictive/dict-tree hides /home/joakim/.elisp/dict-tree
~/.emacs.d/predictive/trie hides /home/joakim/.elisp/trie
/home/joakim/.emacs.d/elpa/clojure-mode-1.6/clojure-mode hides /home/joakim/.elisp/clojure-mode
~/.emacs.d/predictive/heap hides /home/joakim/.elisp/heap
~/.emacs.d/predictive/queue hides /home/joakim/.elisp/queue
/home/joakim/.emacs.d/elpa/slime-20091016/slime hides /home/joakim/.elisp/slime-2.0/slime
/home/joakim/.elisp/slime-2.0/tree-widget hides /home/joakim/.elisp/sclang/tree-widget
/home/joakim/.elisp/javascript-mode hides /home/joakim/.elisp/mdee/javascript-mode
/home/joakim/.elisp/tuareg-mode-1.45.0/camldebug hides /home/joakim/.elisp/caml/camldebug
/usr/local/share/emacs/site-lisp/bbdb-2.35/texinfo/infohack hides /usr/local/share/emacs/site-lisp/dvc/texinfo/infohack
/home/joakim/.elisp/edb/edb-1int-to-single hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/edb-1int-to-single
/home/joakim/.elisp/edb/db-isbn hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-isbn
/home/joakim/.elisp/edb/db-search hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-search
/home/joakim/.elisp/edb/edb-meta hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/edb-meta
/home/joakim/.elisp/edb/edb-t-human-names hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/edb-t-human-names
/home/joakim/.elisp/edb/edbcore hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/edbcore
/home/joakim/.elisp/edb/db-tagged hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-tagged
/home/joakim/.elisp/edb/db-rdb hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-rdb
/home/joakim/.elisp/edb/db-two-dbs hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-two-dbs
/home/joakim/.elisp/edb/db-nosetf hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-nosetf
/home/joakim/.elisp/edb/db-sort hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-sort
/home/joakim/.elisp/edb/edb-t-timedate1 hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/edb-t-timedate1
/home/joakim/.elisp/edb/database hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/database
/home/joakim/.elisp/edb/edb-t-places-usuk hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/edb-t-places-usuk
/home/joakim/.elisp/edb/db-oldnames hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-oldnames
/home/joakim/.elisp/dictionary-1.8.7/connection hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/connection
/home/joakim/.elisp/edb/db-lemacs hides /usr/local/share/emacs/site-lisp/edb-1.31/lisp/db-lemacs
/home/joakim/.elisp/elip hides /usr/local/share/emacs/site-lisp/elip-0.803/source/elip
/home/joakim/.elisp/regress hides /usr/local/share/emacs/site-lisp/jde/lisp/regress
/usr/local/share/emacs/site-lisp/ecb/ecb2/test hides /usr/local/share/emacs/site-lisp/cedet/semantic/tests/test
/home/joakim/.elisp/wisentjs/wisent-javascript-jv-wy hides /usr/local/share/emacs/site-lisp/cedet/semantic/wisent/wisent-javascript-jv-wy
/home/joakim/.elisp/elunit hides /usr/local/share/emacs/site-lisp/dvc/lisp/contrib/elunit
/home/joakim/.elisp/compile hides /usr/local/share/emacs/site-lisp/edb-1.31/examples/edbibtex/compile
/usr/local/share/emacs/site-lisp/emacs-planner/muse/examples/johnw/muse-init hides /usr/local/share/emacs/site-lisp/emacs-planner/muse/examples/mwolson/muse-init
/usr/local/share/emacs/site-lisp/cedet/speedbar/dframe hides /usr/local/share/emacs/24.0.50/lisp/dframe
/usr/local/share/emacs/site-lisp/cedet/speedbar/sb-image hides /usr/local/share/emacs/24.0.50/lisp/sb-image
/home/joakim/.elisp/slime-2.0/tree-widget hides /usr/local/share/emacs/24.0.50/lisp/tree-widget
/home/joakim/.elisp/cedet/common/ezimage hides /usr/local/share/emacs/24.0.50/lisp/ezimage
/usr/local/share/emacs/site-lisp/cedet/speedbar/speedbar hides /usr/local/share/emacs/24.0.50/lisp/speedbar
/home/joakim/.emacs.d/elpa/json-1.2/json hides /usr/local/share/emacs/24.0.50/lisp/json
/home/joakim/.elisp/emacs-planner/remember/remember hides /usr/local/share/emacs/24.0.50/lisp/textmodes/remember
/home/joakim/.elisp/css-mode hides /usr/local/share/emacs/24.0.50/lisp/textmodes/css-mode
/home/joakim/.elisp/compile hides /usr/local/share/emacs/24.0.50/lisp/progmodes/compile
/usr/local/share/emacs/site-lisp/emacs-w3m/attic/rfc2368 hides /usr/local/share/emacs/24.0.50/lisp/mail/rfc2368
~/.emacs.d/predictive/avl-tree hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/avl-tree
/usr/local/share/emacs/site-lisp/dvc/lisp/contrib/ewoc hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/ewoc
/usr/local/share/emacs/site-lisp/cedet/eieio/eieio-datadebug hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-datadebug
/usr/local/share/emacs/site-lisp/cedet/eieio/eieio hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio
/usr/local/share/emacs/site-lisp/cedet/eieio/eieio-opt hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-opt
/usr/local/share/emacs/site-lisp/cedet/eieio/eieio-speedbar hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-speedbar
/usr/local/share/emacs/site-lisp/cedet/eieio/eieio-comp hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-comp
/usr/local/share/emacs/site-lisp/cedet/eieio/eieio-custom hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-custom
/usr/local/share/emacs/site-lisp/cedet/eieio/eieio-base hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-base
~/.elisp/emms/lisp/tq hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/tq
/usr/local/share/emacs/site-lisp/cedet/eieio/chart hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/chart
/home/joakim/.elisp/cedet/common/cedet-cscope hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-cscope
/home/joakim/.elisp/cedet/common/pulse hides /usr/local/share/emacs/24.0.50/lisp/cedet/pulse
/home/joakim/.elisp/cedet/common/cedet hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet
/usr/local/share/emacs/site-lisp/cedet/ede/ede hides /usr/local/share/emacs/24.0.50/lisp/cedet/ede
/home/joakim/.elisp/cedet/common/cedet-idutils hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-idutils
/home/joakim/.elisp/cedet/common/data-debug hides /usr/local/share/emacs/24.0.50/lisp/cedet/data-debug
/home/joakim/.elisp/cedet/common/cedet-global hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-global
/home/joakim/.elisp/cedet/common/mode-local hides /usr/local/share/emacs/24.0.50/lisp/cedet/mode-local
/home/joakim/.elisp/cedet/common/inversion hides /usr/local/share/emacs/24.0.50/lisp/cedet/inversion
/usr/local/share/emacs/site-lisp/cedet/semantic/semantic hides /usr/local/share/emacs/24.0.50/lisp/cedet/semantic
/home/joakim/.elisp/cedet/common/cedet-files hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-files
/usr/local/share/emacs/site-lisp/cedet/srecode/srecode hides /usr/local/share/emacs/24.0.50/lisp/cedet/srecode

Features:
(shadow emacsbug semantic-tag-write semantic-tag-ls semantic-tag-file
semanticdb-file semantic-edit 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-mode nxml-outln nxml-rap nxml-util
nxml-glyph nxml-enc xmltok ffap starttls mailalias smtpmail moy-bbdb
nnagent eieio-opt help-mode view flow-fill bookmark multi-isearch
diff-mode gnus-fun bbdb-gui gnus-cite smiley mule-util w3m-cookie
w3m-bookmark w3m-tabmenu w3m-form w3m-symbol w3m w3m-hist w3m-fb w3m-ems
w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util gnus-async
gnus-bcklg qp gnus-ml gnus-topic parse-time nnfolder utf-7 utf7 nnimap
imap nndraft nnmh bbdb-gnus bbdb-snarf mail-extr bbdb-com netrc
gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache
gnus-alias highline nnmairix nnml stef-elisp csound-x csound-lsp
csound-csd csound-doc csound-opcodes csound-mid csound-ft graphs
csound-spdb k csound-key keykit-interaction keykit-mode kk_utils i
csound-eel comm-tests query-sheet embedded-elisp-library mmm-mode
mmm-univ mmm-class mmm-region mmm-auto mmm-vars mmm-utils mmm-compat
stef-elisp-compatibility slime-repl slime apropos hyperspec
my-msf-abbrev msf-abbrev python-21 python sh-script cperl-mode perl-mode
semantic-el semantic-bovine bovine-debug semantic-debug boxquote rect
grep-edit winner vc-git browse-kill-ring jv-timeclock ses unsafep
timeclock-visualize auto-edit-substitute clojure-test-mode-autoloads
cssh-autoloads dired-isearch-autoloads epresent-autoloads ert-autoloads
facebook-autoloads gtk-look-autoloads json-autoloads magit-autoloads
mediawiki-autoloads pastie-autoloads smart-tab-autoloads
swank-clojure-autoloads clojure-mode-autoloads slime-repl-autoloads
slime-autoloads yasnippet-bundle-autoloads yasnippet-bundle
dropdown-list yasnippet package reporter erc-truncate erc-track
erc-spelling flyspell ispell erc-ring erc-pcomplete erc-netsplit erc-log
erc-button erc-fill erc-join erc-autoaway image-file grep fsdired
hide-lines memory-usage my-eshell dired-x dired-aux ido my-jde-init
java-mode-indent-annotations jde-eclipse-compiler-server flymake jde
etags jde-open-source jde-class jde-parse-class jde-import
jde-java-font-lock jde-which-method jde-java-grammar jde-wiz
jde-complete eldoc jde-plugins executable browse-url jde-gen tempo
jde-run jde-jdb jde-bug jde-dbs jde-dbo regress jde-db jde-parse sregex
jde-imenu semantic-java semantic-doc avltree stack-m elib-node
jde-compile cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs jde-help jde-widgets beanshell jde-custom
jde-project-file jde-autoload jde-util arc-mode archive-mode pager
emms-jave emms-player-mymplayer emms-playlist-limit emms-volume
emms-volume-amixer emms-tag-editor emms-info-metaflac emms-i18n
emms-mark emms-history emms-bookmarks emms-score emms-stream-info
emms-metaplaylist-mode emms-lastfm emms-browser emms-playlist-sort
emms-last-played emms-player-xine emms-player-mpd tq emms-playing-time
emms-lyrics emms-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie emms-streams emms-mode-line emms-cache
emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode emms-player-vlc emms-player-mplayer
emms-player-simple emms-source-playlist emms-source-file locate
emms-dbus emms-setup emms emms-compat erc-stamp erc-match erc-ezbounce
color-theme ansi-color delsel paren pcomplete plannerinit muse-backlink
remember-planner remember noutline outline planner-cyclic solar cal-dst
cal-bahai holidays hol-loaddefs ede-simple ede-linux ede-emacs
ede-cpp-root planner-appt appt diary-lib diary-loaddefs
planner-tasks-overview planner-erc erc-goodies erc erc-backend
erc-compat pp planner-gnus gnus-msg gnus-art mm-uu mml2015 epg-config
mm-view smime dig mailcap gnus-sum nnoo gnus-group time-date gnus-undo
nnmail mail-source gnus-start gnus-spec gnus-int gnus-range gnus-win
message sendmail mml mml-sec mailabbrev gmm-utils mailheader gnus
gnus-ems nnheader mail-utils planner-multi crm planner-publish muse-xml
muse-latex muse-wiki planner cal-menu calendar cal-loaddefs muse-html
muse-xml-common muse-colors cus-edit cus-start cus-load muse-publish
muse-project muse-protocols sb-info info muse-regexps muse
muse-nested-tags muse-mode windmove abook mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums vcard bbdb-autoloads bbdb
timezone pastebin pk-total-recall w3m-load dired-details+ dired
dired-details sort winring ecb ecb-symboldef ecb-analyse
ecb-compatibility ecb-winman-support ecb-autogen autoload ecb-tod
ecb-cycle ecb-eshell ecb-help ecb-jde efc ecb-method-browser hideshow
ecb-file-browser ecb-layout compile ecb-create-layout ecb-compilation
ecb-speedbar ecb-common-browser ecb-semantic-wrapper ecb-navigate
ecb-mode-line ecb-face tree-buffer ecb-upgrade ecb-util thingatpt
jka-compr disp-table anything-config rx anything easy-mmode woman man
recentf tree-widget semanticdb-java ede-proj-maven2 cedet-files cedet
cedet-contrib-load contrib-loaddefs cogre-load cogre-loaddefs
speedbar-load speedbar-loaddefs ede-load ede-loaddefs ede-speedbar
ede-files ede eieio-speedbar semantic-ia-sb semantic-analyze
semantic-scope semantic-analyze-fcn semantic-sort semantic-sb speedbar
sb-image dframe eieio-custom wid-edit ede-source srecode-load srecode
srecode-loaddefs semantic-load senator which-func semantic-imenu imenu
semantic-format ezimage semantic-mru-bookmark semanticdb-mode
semantic-idle semantic-ctxt semantic-decorate-include semanticdb-find
semanticdb-ref semanticdb-el semanticdb-search semantic-find semanticdb
eieio-base semantic-decorate-mode semantic-decorate pulse
semantic-util-modes semantic-util semantic semantic-lex semantic-tag
working fame semantic-fw semantic-loaddefs mode-local find-func derived
eieio-load eieio-loaddefs cedet-load cedet-compat cedet-loaddefs eieio
warnings byte-opt bytecomp byte-compile inversion cl cl-19 generic-x
edmacro kmacro jvfetchmail mailcrypt rfc822 easymenu zen-mode tramp-imap
assoc tramp-gw tramp-gvfs zeroconf url-util url-parse url-vars mm-util
mail-prsvr tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp
auth-source gnus-util advice help-fns advice-preload shell comint
regexp-opt ring password-cache format-spec tramp-compat trampver server
timeclock battery secrets dbus xml tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd 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
dynamic-setting system-font-setting font-render-setting gtk x-toolkit x
multi-tty emacs)
-- 
Joakim Verona




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6776; Package emacs. (Mon, 02 Aug 2010 10:50:03 GMT) Full text and rfc822 format available.

Message #8 received at 6776 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: joakim <at> verona.se
Cc: 6776 <at> debbugs.gnu.org
Subject: Re: bug#6776: 24.0.50; nxml mode binds completion to c-return
Date: Mon, 02 Aug 2010 12:49:37 +0200
> nxml mode does this:
>   (define-key map [C-return] 'nxml-complete)
> which isnt exactly a bug, but its annoying.

Agreed.  It should add to completion-at-point-functions instead.

> Its annoying because mode
> specific completions should go somewhere consistent, such as M-tab, a

Actually, I just noticed that completion-at-point is globally bound to M-tab.


        Stefan




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6776; Package emacs. (Mon, 02 Aug 2010 22:43:02 GMT) Full text and rfc822 format available.

Message #11 received at 6776 <at> debbugs.gnu.org (full text, mbox):

From: joakim <at> verona.se
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 6776 <at> debbugs.gnu.org
Subject: Re: bug#6776: 24.0.50; nxml mode binds completion to c-return
Date: Tue, 03 Aug 2010 00:42:52 +0200
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> nxml mode does this:
>>   (define-key map [C-return] 'nxml-complete)
>> which isnt exactly a bug, but its annoying.
>
> Agreed.  It should add to completion-at-point-functions instead.
>
>> Its annoying because mode
>> specific completions should go somewhere consistent, such as M-tab, a
>
> Actually, I just noticed that completion-at-point is globally bound to M-tab.
>
>
>         Stefan

So, maybe something like this then?

=== modified file 'lisp/nxml/nxml-mode.el'
*** lisp/nxml/nxml-mode.el	2010-06-14 01:43:11 +0000
--- lisp/nxml/nxml-mode.el	2010-08-02 22:37:47 +0000
***************
*** 415,423 ****
      (define-key map "\C-c\C-o" nxml-outline-prefix-map)
      (define-key map [S-mouse-2] 'nxml-mouse-hide-direct-text-content)
      (define-key map "/" 'nxml-electric-slash)
-     (define-key map [C-return] 'nxml-complete)
-     (when nxml-bind-meta-tab-to-complete-flag
-       (define-key map "\M-\t" 'nxml-complete))
      map)
    "Keymap for nxml-mode.")
  
--- 415,420 ----
***************
*** 525,531 ****
  	  (nxml-scan-prolog)))))
    (add-hook 'after-change-functions 'nxml-after-change nil t)
    (add-hook 'change-major-mode-hook 'nxml-cleanup nil t)
! 
    ;; Emacs 23 handles the encoding attribute on the xml declaration
    ;; transparently to nxml-mode, so there is no longer a need for the below
    ;; hook. The hook also had the drawback of overriding explicit user
--- 522,528 ----
  	  (nxml-scan-prolog)))))
    (add-hook 'after-change-functions 'nxml-after-change nil t)
    (add-hook 'change-major-mode-hook 'nxml-cleanup nil t)
!   (add-hook 'completion-at-point-functions  'nxml-complete nil 'local)
    ;; Emacs 23 handles the encoding attribute on the xml declaration
    ;; transparently to nxml-mode, so there is no longer a need for the below
    ;; hook. The hook also had the drawback of overriding explicit user


-- 
Joakim Verona




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6776; Package emacs. (Thu, 05 Aug 2010 08:56:03 GMT) Full text and rfc822 format available.

Message #14 received at 6776 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: joakim <at> verona.se
Cc: 6776 <at> debbugs.gnu.org
Subject: Re: bug#6776: 24.0.50; nxml mode binds completion to c-return
Date: Wed, 04 Aug 2010 14:46:21 +0200
> !   (add-hook 'completion-at-point-functions  'nxml-complete nil 'local)

No: completion-at-point-functions should be functions that return
completion data (that is then passed to the standard completion UI).
Check C-h v completion-at-point-functions.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#6776; Package emacs. (Mon, 12 Mar 2012 04:30:02 GMT) Full text and rfc822 format available.

Message #17 received at 6776 <at> debbugs.gnu.org (full text, mbox):

From: Chong Yidong <cyd <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 6776 <at> debbugs.gnu.org, joakim <at> verona.se
Subject: Re: bug#6776: 24.0.50; nxml mode binds completion to c-return
Date: Mon, 12 Mar 2012 11:59:05 +0800
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> !   (add-hook 'completion-at-point-functions  'nxml-complete nil 'local)
>
> No: completion-at-point-functions should be functions that return
> completion data (that is then passed to the standard completion UI).
> Check C-h v completion-at-point-functions.

I've committed a corrected fix.




bug closed, send any further explanations to 6776 <at> debbugs.gnu.org and joakim <at> verona.se Request was from Chong Yidong <cyd <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 12 Mar 2012 04:30:03 GMT) Full text and rfc822 format available.

Forcibly Merged 6776 11086. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 27 Mar 2012 00:39:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 25 Apr 2012 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.