unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent
@ 2014-02-15 16:07   ` raman
  2014-02-15 22:18     ` Alan Mackenzie
  2014-02-17  3:16     ` Stefan Monnier
  0 siblings, 2 replies; 6+ messages in thread
From: raman @ 2014-02-15 16:07 UTC (permalink / raw)
  To: 16763

This has been bothering me for a while when writing lisp code --
started happening roughly a few months ago.

I always hit C-j for newline, and a couple of months ago, this
stopped indenting -- by default C-j runs
 control j  runs the command electric-indent-just-newline
when electric-indent-mode is on.

The documentation for electric-mode indicates that indentation
will be invoked when you type any of the chars in
electric-indent-chars  -- and that variable is set to a list
containing ?\n which is  ascii 10; yet, C-j invokes a command
that explicitly only inserts a newline? (feeling very confused )





In GNU Emacs 24.3.50.2 (i686-pc-linux-gnu, GTK+ Version 2.16.1)
 of 2014-02-01 on labrador
Repository revision: %N
System Description:	Ubuntu 9.04

Configured using:
 `configure --prefix=/usr/local'

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  recentf-mode: t
  csv-field-index-mode: t
  gpm-mouse-mode: t
  global-semantic-idle-summary-mode: t
  global-semanticdb-minor-mode: t
  semantic-mode: t
  savehist-mode: t
  ido-everywhere: t
  display-time-mode: t
  auto-insert-mode: t
  jabber-activity-mode: t
  jabber-mode-line-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  dynamic-completion-mode: t
  dired-omit-mode: t
  desktop-save-mode: t
  shell-dirtrack-mode: t
  global-voice-lock-mode: t
  voice-lock-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t

Recent input:
C-x C-s C-h c C-j C-e M C-x C-s ESC [ [ D C-x @ h s 
c d RET c d SPC e m TAB l i TAB e m TAB RET s v n SPC 
c i SPC - m SPC " " ; SPC m a k e RET C-h V e l e c 
TAB i n d TAB RET C-h f e l e c t r i TAB i n d TAB 
m TAB RET ESC m ESC [ [ D C-h G e l e c t r i TAB SPC 
i TAB DEL TAB ESC DEL ESC DEL C-g C-h ESC f e l e c 
t r i TAB i n d TAB m TAB RET ESC < C-e m C-x h C-s 
d e f c u s ESC < C-h ESC v e l e c t r i TAB i n d 
TAB m TAB RET ESC m C-e m C-n C-n C-n C-n C-n C-n C-n 
ESC m C-p C-n C-n C-h c C-j C-h v e l e c t r i c SPC 
i n d TAB c h TAB RET ESC m C-n C-n C-n C-n ESC C-e 
ESC C-j e l e c t r i TAB i n d TAB c h TAB ESC DEL 
C-g C-e h C-h ESC v e l e c t r i TAB i n d TAB c h 
TAB RET ESC m C-e e ESC [ D ESC [ D ESC [ D ESC [ C 
ESC [ C C-x C-e C-e a C-n C-h ESC k C-j ESC m C-n C-n 
C-x m ESC [ [ D n ESC x r e p o r t SPC e m a TAB b 
TAB RET

Recent messages:
uncompressing electric.el.gz...done
Note: file is write protected
Marked buffer containing 393 lines
 control j  runs the command electric-indent-just-newline

Quit 
10 (#o12, #xa, ?\C-j)
Composing a message
Save `mail to _' as draft in folder `postponed'? (y or n)  n
`mail to _ on ""' is gone forever!

Load-path shadows:
/home/raman/.emacs.d/elpa/company-20131101.302/.dir-locals hides /home/raman/.emacs.d/elpa/js2-mode-20131119.116/.dir-locals
/home/raman/.emacs.d/elpa/company-20131101.302/.dir-locals hides /home/raman/.emacs.d/elpa/kill-ring-search-20110605.1744/.dir-locals
/home/raman/.emacs.d/elpa/google-this-20131031.1015/noflet hides /home/raman/.emacs.d/elpa/noflet-20130901.1722/noflet
/home/raman/emacs/lisp/site-lisp/gm/g-utils hides /home/raman/emacs/lisp/emacspeak/lisp/g-client/g-utils
/home/raman/emacs/lisp/site-lisp/vm/lisp/tapestry hides /home/raman/emacs/lisp/emacspeak/lisp/tapestry
/home/raman/.emacs.d/elpa/apt-utils-20130824.1200/apt-utils hides /home/raman/emacs/lisp/site-lisp/apt-utils
/home/raman/.emacs.d/elpa/fold-dwim-20120926.1236/fold-dwim hides /home/raman/emacs/lisp/site-lisp/fold-dwim
/home/raman/.emacs.d/elpa/xml-rpc-20130423.1656/xml-rpc hides /home/raman/emacs/lisp/site-lisp/xml-rpc
/home/raman/emacs/lisp/emacspeak/lisp/tetris hides /usr/local/share/emacs/24.3.50/lisp/play/tetris
/home/raman/.emacs.d/elpa/company-20131101.302/.dir-locals hides /usr/local/share/emacs/24.3.50/lisp/gnus/.dir-locals
/home/raman/.emacs.d/elpa/emms-20131016.1232/tq hides /usr/local/share/emacs/24.3.50/lisp/emacs-lisp/tq
/home/raman/.emacs.d/elpa/tabulated-list-20120406.2251/tabulated-list hides /usr/local/share/emacs/24.3.50/lisp/emacs-lisp/tabulated-list

Features:
(shadow emacsbug eieio-opt emacspeak-speedbar speedbar sb-image
dframe pulse semantic/analyze semantic/sort semantic/scope
semantic/analyze/fcn finder-inf org-rmail org-mhe org-irc
org-info org-gnus org-docview org-bibtex emacspeak-bibtex bibtex
org-bbdb org-w3m org-capture etags tramp-cache gm-nnir canlock
vm-save vm-mark jabber-rtt goto-addr emacspeak-tapestry gnus-dup
rect gnus-bcklg qp debug dabbrev emacspeak-bbc w3-style
jabber-bookmarks emacspeak-proced proced recentf tree-widget
gnus-cite gnus-async gnus-ml url-queue emacspeak-eww eww mm-url
shr misearch multi-isearch ffap nndraft nnmh gnus-agent gnus-srvr
gnus-score score-mode nnvirtual gnus-msg nnfolder utf-7
gnus-cache vc-rcs gnus-prepare emacspeak-supercite supercite regi
ediff-ptch ediff-merg emacspeak-ediff ediff-wind ediff-diff
ediff-mult ediff-help ediff-init ediff-util ediff epa-file
emacspeak-flyspell flyspell emacspeak-ispell ispell vm-digest
vm-reply pcmpl-unix vm-virtual emacspeak-hide vm-sort vm-delete
tapestry vm-rfaddons vm-menu vm-window vm-toolbar vm-mouse
vm-page vm-minibuf emacspeak-vm vm w3-imenu emacspeak-imenu imenu
w3-speak-table w3-structure w3-hot mm-archive url-file url-dired
w3-toolbar w3-speak w3-forms w3-emacs w3-props network-stream
url-http url-gw url-cache url-auth emacspeak-url-template
csv-mode amixer emacspeak-wizards emacspeak-eterm term ehelp
emacspeak-texinfo texinfo emacspeak-table-ui emacspeak-table
emacspeak-find-dired find-dired eldoc lisp-mnt t-mouse cal-china
lunar cal-bahai cal-islam cal-hebrew holidays hol-loaddefs gcal
g-app g-auth mule-util cal-move server emms-info-libtag
emms-bookmarks emms-lastfm-client emms-cue emms-mode-line-icon
emms-browser sort emms-playlist-sort emms-last-played
emms-player-xine emms-player-mpd tq emms-playing-time emms-lyrics
emms-url emms-streams emms-tag-editor emms-mark 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
emms-setup emacspeak-emms emms emms-compat emacspeak-reftex
reftex reftex-vars Save-visited-files-autoloads emacspeak-auctex
tex-site bm-autoloads charmap cljdoc-autoloads
clojure-project-mode-autoloads clojurescript-mode-autoloads
closure-lint-mode-autoloads closure-template-html-mode-autoloads
color-theme-autoloads control-lock-autoloads cppcheck-autoloads
crontab-mode-autoloads dired-isearch-autoloads dizzee-autoloads
doc-mode-autoloads dotassoc-autoloads durendal-autoloads
echo-pick-autoloads eimp-autoloads elisp-cache-autoloads
enwc-autoloads epoch-view-autoloads eshell-info-autoloads
find-file-in-project-autoloads find-file-in-repository-autoloads
fold-dwim-autoloads gnomenm-autoloads gopher-autoloads
heap-autoloads http-twiddle-autoloads iflipb-autoloads
inflections-autoloads ioccur-autoloads js-comint-autoloads
key-chord-autoloads kill-ring-search-autoloads letcheck-autoloads
logito-autoloads macro-math-autoloads magnet-autoloads
markchars-autoloads marmalade-autoloads furl-autoloads
maxframe-autoloads memory-usage-autoloads minimap-autoloads
mustache-mode-autoloads my-packages-autoloads nav-autoloads
oauth-autoloads otp-autoloads emacspeak-info info
project-autoloads project-mode-autoloads levenshtein-autoloads
protobuf-mode-autoloads pylint-autoloads pysmell-autoloads
python-mode-autoloads quarter-plane-autoloads queue-autoloads
register-list-autoloads scratch-autoloads session-autoloads
shadchen-autoloads shell-here-autoloads edmacro emacspeak-kmacro
kmacro slime-repl-autoloads slime-autoloads
ssh-config-mode-autoloads tabkey2-autoloads
tabula-rasa-mode-autoloads texdrive-autoloads
thumb-through-autoloads tidy-autoloads unbound-autoloads
watch-buffer-autoloads wget-autoloads workspaces-autoloads
wtf-autoloads xml-gen-autoloads package emacs-startup
semantic/idle semantic/format ezimage semantic/tag-ls
semantic/find semantic/ctxt semantic/db-mode semantic/db
eieio-base saveplace midnight emacspeak-cedet semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw
mode-local cedet savehist emacspeak-ido ido time autoinsert
emacspeak-gm gm tramp tramp-compat tramp-loaddefs trampver
emacspeak-twittering twittering-mode epa epg ssl emacspeak-jabber
jabber jabber-libnotify jabber-awesome jabber-osd jabber-wmii
jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison
jabber-tmux jabber-screen jabber-socks5 jabber-ft-server
jabber-si-server jabber-ft-client jabber-ft-common
jabber-si-client jabber-si-common jabber-feature-neg
jabber-truncate jabber-time jabber-autoaway jabber-vcard-avatars
jabber-chatstates jabber-events jabber-vcard jabber-avatar
jabber-activity jabber-watch jabber-modeline jabber-ahc-presence
jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp jabber-browse jabber-search
jabber-register jabber-roster jabber-private jabber-presence
jabber-muc jabber-muc-nick-coloring hexrgb jabber-widget
jabber-disco jabber-chat jabber-history jabber-chatbuffer
jabber-alert jabber-iq jabber-core jabber-console
emacspeak-sgml-mode sgml-mode ewoc jabber-keymap jabber-sasl sasl
sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn
srv dns starttls gnutls jabber-xml jabber-menu jabber-util
jabber-autoloads erc-list erc-menu erc-join erc-ring erc-networks
erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp
erc-netsplit emacspeak-erc erc-goodies erc erc-backend erc-compat
pp emacspeak-org org org-macro org-footnote org-pcomplete
org-list org-faces org-entities emacspeak-outline foldout
noutline outline easy-mmode org-version ob-emacs-lisp ob
ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint
ob-core ob-eval org-compat org-macs org-loaddefs
emacspeak-find-func find-func emacspeak-calendar appt diary-lib
diary-loaddefs solar cal-dst cal-menu calendar cal-loaddefs
emacspeak-tcl tcl emacspeak-folding folding emacspeak-w3m
w3m-form emacspeak-m-player w3m doc-view jka-compr image-mode
w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon
w3m-image w3m-proc w3m-util w3-prepare w3 w3-menu w3-emulate
w3-auto w3-parse w3-fast-parse emacspeak-w3 emacspeak-google
html2text gmaps emacspeak-we emacspeak-xslt w3-display w3-mouse
w3-imap url-handlers w3-widget w3-vars w3-keymap w3-cus css font
disp-table devices ange-ftp w3-cfg w3-compat emacspeak-sigbegone
sigbegone emacspeak-custom cus-edit cus-start smtpmail sendmail
gnus-demon nntp nnir nnimap parse-time tls utf7 netrc
emacspeak-gnus gnus-art mm-uu mml2015 epg-config mm-view
mml-smime smime dig gnus-sum nnoo gnus-group gnus-undo nnmail
mail-source gnus-start gnus-spec gnus-int gnus-range
emacspeak-message message format-spec mml mml-sec mm-decode
mm-bodies mm-encode gmm-utils mailheader gnus-win gnus gnus-ems
nnheader mail-utils emacspeak-mspools mspools bbdb-vm vm-mime
vm-folder vm-summary vm-motion vm-undo vm-misc bbdb-snarf
mail-extr rfc822 bbdb-hooks mail-parse rfc2231 rfc2047 rfc2045
ietf-drums bbdb-autoloads bbdb-com mailabbrev emacspeak-bbdb bbdb
timezone vm-pine vm-macro vm-message vm-autoloads vm-vars
vm-version my-functions completion dired-aux dired-x
emacspeak-dired emacspeak-desktop desktop frameset dired
emacspeak-aumix emacspeak-forms forms-mode forms emacspeak-setup
emacspeak-dbus nm dbus xml emacspeak-webspace emacspeak-webutils
browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util url-parse auth-source
eieio eieio-core gnus-util mm-util mail-prsvr password-cache
url-vars mailcap gweb gfeeds g-utils json emacspeak-alsaplayer
emacspeak-amark derived emacspeak-advice shell pcomplete comint
ring emacspeak-ansi-color ansi-color emacspeak-replace
emacspeak-redefine emacspeak-personality emacspeak
emacspeak-widget warnings wid-edit emacspeak-facemenu
emacspeak-fix-interactive emacspeak-buff-menu g-cus-load cus-load
emacspeak-preamble emacspeak-keymap emacspeak-speak time-date
emacspeak-pronounce thingatpt dtk-speak flite-voices dtk-interp
voice-setup emacspeak-sounds dectalk-voices espeak-voices
mac-voices multispeech-voices outloud-voices dtk-unicode byte-opt
bytecomp byte-compile cconv descr-text help-mode easymenu
dtk-css-speech acss-structure emacspeak-load-path advice help-fns
vc-git vc-dispatcher vc-svn cl-macs gv cl cl-loaddefs cl-lib
tooltip electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar 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 minibuffer nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent
       [not found] <<87fvnkbbqx.fsf@gmail.com>
       [not found] ` <mailman.15193.1392492502.10748.bug-gnu-emacs@gnu.org>
@ 2014-02-15 19:27 ` Drew Adams
  2014-02-15 19:50   ` Andreas Röhler
  2014-02-15 21:48   ` T. V. Raman
  1 sibling, 2 replies; 6+ messages in thread
From: Drew Adams @ 2014-02-15 19:27 UTC (permalink / raw)
  To: raman, 16763

> This has been bothering me for a while when writing lisp code --
> started happening roughly a few months ago.

Yup.

> I always hit C-j for newline, and a couple of months ago, this
> stopped indenting -- by default C-j runs control j  runs the
> command electric-indent-just-newline when electric-indent-mode
> is on.
> 
> The documentation for electric-mode indicates that indentation
> will be invoked when you type any of the chars in
> electric-indent-chars  -- and that variable is set to a list
> containing ?\n which is  ascii 10; yet, C-j invokes a command
> that explicitly only inserts a newline? (feeling very confused)

It is not yet reflected in NEWS or the manuals, but `C-j' and
`RET' have been effectively swapped: `RET' now indents and `C-j'
does not indent.

The new behavior was apparently adopted to make Emacs correspond
better with what newbie users expect, based on their experience
with other editors and IDEs.

You are not alone in "feeling very confused".  Hopefully, the
NEWS entry covering this, and perhaps the manuals, will explain
the best and simplest way to restore the previous, longstanding
behavior for those who might prefer it.  Otherwise, you can
just retrain your fingers. ;-)





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent
  2014-02-15 19:27 ` Drew Adams
@ 2014-02-15 19:50   ` Andreas Röhler
  2014-02-15 21:48   ` T. V. Raman
  1 sibling, 0 replies; 6+ messages in thread
From: Andreas Röhler @ 2014-02-15 19:50 UTC (permalink / raw)
  To: 16763

Am 15.02.2014 20:27, schrieb Drew Adams:
>> This has been bothering me for a while when writing lisp code --
>> started happening roughly a few months ago.
>
> Yup.
>
>> I always hit C-j for newline, and a couple of months ago, this
>> stopped indenting -- by default C-j runs control j  runs the
>> command electric-indent-just-newline when electric-indent-mode
>> is on.
>>
>> The documentation for electric-mode indicates that indentation
>> will be invoked when you type any of the chars in
>> electric-indent-chars  -- and that variable is set to a list
>> containing ?\n which is  ascii 10; yet, C-j invokes a command
>> that explicitly only inserts a newline? (feeling very confused)
>
> It is not yet reflected in NEWS or the manuals, but `C-j' and
> `RET' have been effectively swapped: `RET' now indents and `C-j'
> does not indent.
>
> The new behavior was apparently adopted to make Emacs correspond
> better with what newbie users expect, based on their experience
> with other editors and IDEs.
>
> You are not alone in "feeling very confused".  Hopefully, the
> NEWS entry covering this, and perhaps the manuals, will explain
> the best and simplest way to restore the previous, longstanding
> behavior for those who might prefer it.  Otherwise, you can
> just retrain your fingers. ;-)
>
>
>
>

Seems a wise change for the majority of beginners nonetheless.
In most cases you will indent when writing lines of code.
Rather seldom column 0 is needed,.
So I'm ready to learn... :-)





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent
  2014-02-15 19:27 ` Drew Adams
  2014-02-15 19:50   ` Andreas Röhler
@ 2014-02-15 21:48   ` T. V. Raman
  1 sibling, 0 replies; 6+ messages in thread
From: T. V. Raman @ 2014-02-15 21:48 UTC (permalink / raw)
  To: drew.adams; +Cc: tv.raman.tv, 16763

The source code docs need to be fixed too
>>>>> "Drew" == Drew Adams <drew.adams@oracle.com> writes:
    >> This has been bothering me for a while when writing lisp
    >> code -- started happening roughly a few months ago.
    Drew> 
    Drew> Yup.
    Drew> 
    >> I always hit C-j for newline, and a couple of months ago,
    >> this stopped indenting -- by default C-j runs control j
    >> runs the command electric-indent-just-newline when
    >> electric-indent-mode is on.
    >> 
    >> The documentation for electric-mode indicates that
    >> indentation will be invoked when you type any of the chars
    >> in electric-indent-chars -- and that variable is set to a
    >> list containing ?\n which is ascii 10; yet, C-j invokes a
    >> command that explicitly only inserts a newline? (feeling
    >> very confused)
    Drew> 
    Drew> It is not yet reflected in NEWS or the manuals, but
    Drew> `C-j' and `RET' have been effectively swapped: `RET'
    Drew> now indents and `C-j' does not indent.
    Drew> 
    Drew> The new behavior was apparently adopted to make Emacs
    Drew> correspond better with what newbie users expect, based
    Drew> on their experience with other editors and IDEs.
    Drew> 
    Drew> You are not alone in "feeling very
    Drew> confused". Hopefully, the NEWS entry covering this, and
    Drew> perhaps the manuals, will explain the best and simplest
    Drew> way to restore the previous, longstanding behavior for
    Drew> those who might prefer it. Otherwise, you can just
    Drew> retrain your fingers. ;-)





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent
  2014-02-15 16:07   ` bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent raman
@ 2014-02-15 22:18     ` Alan Mackenzie
  2014-02-17  3:16     ` Stefan Monnier
  1 sibling, 0 replies; 6+ messages in thread
From: Alan Mackenzie @ 2014-02-15 22:18 UTC (permalink / raw)
  To: gnu-emacs-bug


Hi, Drew.

Drew Adams <drew.adams@oracle.com> wrote:
>> This has been bothering me for a while when writing lisp code --
>> started happening roughly a few months ago.

> Yup.

>> I always hit C-j for newline, and a couple of months ago, this
>> stopped indenting -- by default C-j runs control j  runs the
>> command electric-indent-just-newline when electric-indent-mode
>> is on.
>> 
>> The documentation for electric-mode indicates that indentation
>> will be invoked when you type any of the chars in
>> electric-indent-chars  -- and that variable is set to a list
>> containing ?\n which is  ascii 10; yet, C-j invokes a command
>> that explicitly only inserts a newline? (feeling very confused)

> It is not yet reflected in NEWS or the manuals, but `C-j' and
> `RET' have been effectively swapped: `RET' now indents and `C-j'
> does not indent.

No, it's a lot worse than that.  What you say only applies when
electric-indent-mode is active (which is currently is, by default).

If you enable e-i-mode in a single buffer using
electric-indent-local-mode, then that binding reversal will apply in all
buffers.  (That's assuming that function works, which I strongly suspect
isn't the case.)  If you then disable e-i-m, whether the bindings stay
swapped depends on how you do the disabling.

If you advise `newline-and-indent', the results will be unexpected and
suboptimal when e-i-mode is enabled.

> The new behavior was apparently adopted to make Emacs correspond
> better with what newbie users expect, based on their experience
> with other editors and IDEs.

Sort of.  I suspect the newbie users who don't like e-i-mode would also
like to have these bindings reversed.  Or maybe not.  Who can say?

> You are not alone in "feeling very confused".  Hopefully, the
> NEWS entry covering this, and perhaps the manuals, will explain
> the best and simplest way to restore the previous, longstanding
> behavior for those who might prefer it.  Otherwise, you can
> just retrain your fingers. ;-)

I'm not confused about this issue.  Just very, very unhappy.

-- 
Alan Mackenzie (Nuremberg, Germany).






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent
  2014-02-15 16:07   ` bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent raman
  2014-02-15 22:18     ` Alan Mackenzie
@ 2014-02-17  3:16     ` Stefan Monnier
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2014-02-17  3:16 UTC (permalink / raw)
  To: raman; +Cc: 16763

> The documentation for electric-mode indicates that indentation
> will be invoked when you type any of the chars in
> electric-indent-chars

Actually, it's when you self-insert-command a char in electric-indent-chars.
Both C-j and RET call self-insert-command indirectly after fiddling to
force them both to insert ?\n.

In any case, if you prefer the old behavior, just disable
electric-indent-mode.


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-02-17  3:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <<87fvnkbbqx.fsf@gmail.com>
     [not found] ` <mailman.15193.1392492502.10748.bug-gnu-emacs@gnu.org>
2014-02-15 16:07   ` bug#16763: 24.3.50; electric-indent annoyance: C-j doesn't indent raman
2014-02-15 22:18     ` Alan Mackenzie
2014-02-17  3:16     ` Stefan Monnier
2014-02-15 19:27 ` Drew Adams
2014-02-15 19:50   ` Andreas Röhler
2014-02-15 21:48   ` T. V. Raman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).