* [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer]
@ 2006-07-05 14:51 Richard Stallman
2006-07-05 16:07 ` Chong Yidong
2006-07-06 15:22 ` Mathias Dahl
0 siblings, 2 replies; 7+ messages in thread
From: Richard Stallman @ 2006-07-05 14:51 UTC (permalink / raw)
The failure to ask the user whether to update the buffer
is certainly a bug. Would someone please fix it and ack?
The behavior of find-alternate-file is also surely not good, but I am
not sure what it should do instead. The ideal would be to substitute
the new file in the base buffer and its indirect buffers, without
otherwise altering the differences between them. But that is probably
quite hard, so it would be better to do something else that's at least
sensible.
------- Start of forwarded message -------
To: emacs-pretest-bug@gnu.org
From: Joe Edmonds <joe-emacs-bugs@elem.com>
Date: Mon, 03 Jul 2006 11:35:05 -0700
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: change to file on disk not noticed by indirect buffer
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=failed
version=3.0.4
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
I really like using indirect buffers to edit different parts of the
same file with different buffer settings (mode, point, mark, position
in buffer stack, etc).
But I've noticed that an indirect buffer doesn't behave the way a
normal buffer does with regard to a file that is changed from outside
emacs. Here's how to reproduce the problem:
echo foo >>/tmp/foo # in a shell outside emacs
C-x C-f /tmp/foo
M-x clone-indirect-buffer
echo bar >>/tmp/foo # in a shell outside emacs
Now, insert some text in the indirect buffer.
You don't get the nice "foo changed on disk; really edit the buffer?"
prompt emacs normally gives you if you try to edit the base buffer.
Also, find-alternate-file destroys the correspondence of indirect
buffers and base buffers. If you do it in a base buffer, all indirect
buffers are killed. If you do it in an indirect buffer, you're
not an indirect buffer anymore. If there were a "refresh base buffer
and all its indirect buffers from disk" function, that would make
working with indirect buffers easier for me.
Cheers,
Joe
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'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/22.0.50/etc/DEBUG for instructions.
In GNU Emacs 22.0.50.1 (i486-pc-linux-gnu, GTK+ Version 2.8.10)
of 2006-01-16 on vernadsky, modified by Debian
X server distributor `The X.Org Foundation', version 11.0.60802000
configured using `configure '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/22.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/22.0.50/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/22.0.50/leim' '--with-x=yes' '--with-x-toolkit=gtk' 'CFLAGS=-DDEBIAN -g -Wno-pointer-sign -O2' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu''
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.UTF-8
locale-coding-system: utf-8
default-enable-multibyte-characters: t
Major mode: Mason[HTML]
Minor modes in effect:
auto-insert-mode: t
erc-autojoin-mode: t
erc-button-mode: t
erc-ring-mode: t
erc-pcomplete-mode: t
erc-track-mode: t
erc-fill-mode: t
erc-netsplit-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
show-paren-mode: t
tooltip-mode: t
auto-compression-mode: t
tool-bar-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
C-x C-s M-x c l o n <tab> i <tab> <return> t g v C-x
C-s n o <return> C-x o M-> <return> x y z C-x C-s n
o <return> <help-echo> <help-echo> <help-echo> C-x
C-s y e s <return> y C-x o C-x C-v f o <tab> o <tab>
<return> C-h k C-x C-v <help-echo> <help-echo> C-x
o C-x k <return> C-x o M-x a p r o p o <tab> <return>
i n d i r e c t <return> <help-echo> <help-echo> <help-echo>
C-x o C-x k <return> <help-echo> M-x r e p o <tab>
r <tab> <return>
Recent messages:
Mark set
basic-save-buffer: Save not confirmed
Auto-saving...
foo.txt changed on disk; really edit the buffer? (y, n, r or C-h)
File on disk now will become a backup file if you save these changes.
Wrote /tmp/foo.txt
Making completion list...
Type C-x 4 b RET to restore the other window.
Making completion list...
Loading emacsbug...done
_______________________________________________
emacs-pretest-bug mailing list
emacs-pretest-bug@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
------- End of forwarded message -------
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer]
2006-07-05 14:51 [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer] Richard Stallman
@ 2006-07-05 16:07 ` Chong Yidong
2006-07-06 13:32 ` Richard Stallman
2006-07-06 15:22 ` Mathias Dahl
1 sibling, 1 reply; 7+ messages in thread
From: Chong Yidong @ 2006-07-05 16:07 UTC (permalink / raw)
Cc: emacs-devel
Richard Stallman <rms@gnu.org> writes:
> The failure to ask the user whether to update the buffer
> is certainly a bug. Would someone please fix it and ack?
I fixed the clash detection bug. (I didn't do anything about the
other issue with find-alternate file.)
> The behavior of find-alternate-file is also surely not good, but I am
> not sure what it should do instead. The ideal would be to substitute
> the new file in the base buffer and its indirect buffers, without
> otherwise altering the differences between them. But that is probably
> quite hard, so it would be better to do something else that's at least
> sensible.
>
> From: Joe Edmonds <joe-emacs-bugs@elem.com>
> Subject: change to file on disk not noticed by indirect buffer
> To: emacs-pretest-bug@gnu.org
>
> I really like using indirect buffers to edit different parts of the
> same file with different buffer settings (mode, point, mark, position
> in buffer stack, etc).
>
> But I've noticed that an indirect buffer doesn't behave the way a
> normal buffer does with regard to a file that is changed from outside
> emacs. Here's how to reproduce the problem:
>
> echo foo >>/tmp/foo # in a shell outside emacs
>
> C-x C-f /tmp/foo
> M-x clone-indirect-buffer
>
> echo bar >>/tmp/foo # in a shell outside emacs
>
> Now, insert some text in the indirect buffer.
>
> You don't get the nice "foo changed on disk; really edit the buffer?"
> prompt emacs normally gives you if you try to edit the base buffer.
>
> Also, find-alternate-file destroys the correspondence of indirect
> buffers and base buffers. If you do it in a base buffer, all indirect
> buffers are killed. If you do it in an indirect buffer, you're
> not an indirect buffer anymore. If there were a "refresh base buffer
> and all its indirect buffers from disk" function, that would make
> working with indirect buffers easier for me.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer]
2006-07-05 16:07 ` Chong Yidong
@ 2006-07-06 13:32 ` Richard Stallman
2006-07-06 13:56 ` Chong Yidong
0 siblings, 1 reply; 7+ messages in thread
From: Richard Stallman @ 2006-07-06 13:32 UTC (permalink / raw)
Cc: emacs-devel
I fixed the clash detection bug. (I didn't do anything about the
other issue with find-alternate file.)
It would be good to at least do something about that other issue.
Even a doc fix would be better than nothing; but you can probably
think of some other behavior that makes more sense than this one.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer]
2006-07-06 13:32 ` Richard Stallman
@ 2006-07-06 13:56 ` Chong Yidong
0 siblings, 0 replies; 7+ messages in thread
From: Chong Yidong @ 2006-07-06 13:56 UTC (permalink / raw)
Cc: emacs-devel
Richard Stallman <rms@gnu.org> writes:
> I fixed the clash detection bug. (I didn't do anything about the
> other issue with find-alternate file.)
>
> It would be good to at least do something about that other issue.
> Even a doc fix would be better than nothing; but you can probably
> think of some other behavior that makes more sense than this one.
I fixed the docstring to point out the effect on indirect buffers.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer]
2006-07-05 14:51 [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer] Richard Stallman
2006-07-05 16:07 ` Chong Yidong
@ 2006-07-06 15:22 ` Mathias Dahl
2006-07-07 19:30 ` Richard Stallman
1 sibling, 1 reply; 7+ messages in thread
From: Mathias Dahl @ 2006-07-06 15:22 UTC (permalink / raw)
Cc: emacs-devel
> The behavior of find-alternate-file is also surely not good, but I am
> not sure what it should do instead. The ideal would be to substitute
> the new file in the base buffer and its indirect buffers, without
> otherwise altering the differences between them. But that is probably
> quite hard, so it would be better to do something else that's at least
> sensible.
Would it be that hard? Just change the base buffer's file as if it was
a buffer without any indirect ones and for the indirect buffers, keep
track of what mode they were in (would saving more information be
useful?) and read the data from the new base buffer into them.
On the other hand, what if I do want to find an alternative file in
the indirect buffer I am currently in? Maybe I am done with this
indirect buffer and don't need it anymore.
Maybe there should be a new command such as the one the Joe suggested
and keep the current functionality as it is?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer]
2006-07-06 15:22 ` Mathias Dahl
@ 2006-07-07 19:30 ` Richard Stallman
2006-07-07 22:25 ` Mathias Dahl
0 siblings, 1 reply; 7+ messages in thread
From: Richard Stallman @ 2006-07-07 19:30 UTC (permalink / raw)
Cc: emacs-devel
Would it be that hard? Just change the base buffer's file as if it was
a buffer without any indirect ones and for the indirect buffers, keep
track of what mode they were in (would saving more information be
useful?) and read the data from the new base buffer into them.
Adjusting the indirect buffers correctly would be quite hard, I think.
On the other hand, what if I do want to find an alternative file in
the indirect buffer I am currently in? Maybe I am done with this
indirect buffer and don't need it anymore.
Maybe it is correct for C-x C-v in an indirect buffer to replace
only that indirect buffer.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-07-07 22:25 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-05 14:51 [joe-emacs-bugs@elem.com: change to file on disk not noticed by indirect buffer] Richard Stallman
2006-07-05 16:07 ` Chong Yidong
2006-07-06 13:32 ` Richard Stallman
2006-07-06 13:56 ` Chong Yidong
2006-07-06 15:22 ` Mathias Dahl
2006-07-07 19:30 ` Richard Stallman
2006-07-07 22:25 ` Mathias Dahl
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.