* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.