unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#17656: 24.3; default-directory with aliases in shell-mode
@ 2014-05-31 14:16 Jacob Gerlach
  2014-05-31 17:30 ` Glenn Morris
  0 siblings, 1 reply; 3+ messages in thread
From: Jacob Gerlach @ 2014-05-31 14:16 UTC (permalink / raw)
  To: 17656

[-- Attachment #1: Type: text/plain, Size: 5170 bytes --]

Changing directories with a shell alias does not update
default-directory. This affects subsequent commands such as dired, and
shell behavior such as tab completion. Follow on relative path changes
such as `$ cd ..' have the expected effect in the shell, and move
default-directory relative to the working directory before using a cd
alias. Subsequent non-aliased cd commands do not affect
default-directory unless the working directory of the shell matches
default-directory.

$ emacs -q
`M-x shell RET'
~$ pwd
/home/user
`C-h v default-directory RET'
  => default-directory is a variable defined in `C source code'.
  Its value is "/home/user/"
~$ mkdir foobar
~$ cd foobar
~/foobar$
`C-h v default-directory RET'
  => ... Its value is "/home/user/foobar/"
~/foobar$ alias fb='cd foobar'
~/foobar$ cd ..
~$ fb
~/foobar$
`C-h v default-directory RET'
  => ...Its value is "/home/user/"
~/foobar$ cd ..
~$
`C-h v default-directory RET'
  => ...Its value is "/home/"
~$ cd foobar
~/foobar$
`C-h v default-directory RET'
  => ...Its value is "/home/"
~/foobar$ cd /home
/home$ cd user/foobar
~/foobar$
`C-h v default-directory RET'
  => ...Its value is "/home/user/foobar/"

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/share/emacs/24.3/etc/DEBUG.


In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.4.2)
 of 2014-02-22 on king, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11303000
System Description: Ubuntu 12.04.4 LTS

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' '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/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Wformat-security
 -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions
 -Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Shell

Minor modes in effect:
  shell-dirtrack-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-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:

<menu> s h e l l <return> C-h v d e f a u <tab> d i r <tab> <return> c d
SPC f o o b a r <return> C-h v <up> <return> m k <backspace> <backspace>
c d SPC . . <return> f b <return> a l i a s SPC f b = ' c d SPC f o o b
a r ' <return> l s <return> f b <return> C-h v <up> <return> c d SPC
. . <return> f b <return> C-h v <up> <return> c d SPC . . <return> C-h v
<up> <return> c d SPC f o <tab> o b a r <return> C-h v <up> <return> c d
SPC / <return> c d SPC h o <tab> j a <tab> <return> C-h v <up> <return>
<menu> r e p o r t - e m <tab> <return>

Recent messages:

/home

/

No match

/
~


Load-path shadows:
/usr/share/emacs/24.3/site-lisp/cmake-data/cmake-mode hides
/usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/24.3/site-lisp/debian-startup hides
/usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides
/usr/share/emacs/24.3/lisp/textmodes/ispell
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides
/usr/share/emacs/24.3/lisp/textmodes/flyspell

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils pcmpl-unix misearch multi-isearch pp help-mode
easymenu help-fns shell pcomplete comint ansi-color ring
emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode
time-date tooltip 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 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 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
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)

[-- Attachment #2: Type: text/html, Size: 13621 bytes --]

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

* bug#17656: 24.3; default-directory with aliases in shell-mode
  2014-05-31 14:16 bug#17656: 24.3; default-directory with aliases in shell-mode Jacob Gerlach
@ 2014-05-31 17:30 ` Glenn Morris
  2014-06-02 15:17   ` Jacob Gerlach
  0 siblings, 1 reply; 3+ messages in thread
From: Glenn Morris @ 2014-05-31 17:30 UTC (permalink / raw)
  To: Jacob Gerlach; +Cc: 17656


This is http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9555
You can use M-x shell-resync-dirs to fix things up.





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

* bug#17656: 24.3; default-directory with aliases in shell-mode
  2014-05-31 17:30 ` Glenn Morris
@ 2014-06-02 15:17   ` Jacob Gerlach
  0 siblings, 0 replies; 3+ messages in thread
From: Jacob Gerlach @ 2014-06-02 15:17 UTC (permalink / raw)
  To: Glenn Morris

[-- Attachment #1: Type: text/plain, Size: 569 bytes --]

Glenn,

Thanks, that did the trick.

I'd like to automate this by reading in aliases from my bash aliases file.
Would it be reasonable to do something like adding shell-resync-dirs as a
(conditional, if last command matched a cd alias) hook on
comint-output-filter-functions?

Additionally, is there an easy way to hide the execution of `dirs' from the
shell buffer?

Thanks, Jake


On Sat, May 31, 2014 at 1:30 PM, Glenn Morris <rgm@gnu.org> wrote:

>
> This is http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9555
> You can use M-x shell-resync-dirs to fix things up.
>

[-- Attachment #2: Type: text/html, Size: 1063 bytes --]

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

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

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-31 14:16 bug#17656: 24.3; default-directory with aliases in shell-mode Jacob Gerlach
2014-05-31 17:30 ` Glenn Morris
2014-06-02 15:17   ` Jacob Gerlach

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).