* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
@ 2013-05-22 22:22 Dmitry Gutov
2013-05-23 7:25 ` Glenn Morris
0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Gutov @ 2013-05-22 22:22 UTC (permalink / raw)
To: 14443
1. find-file //lisp/progmodes/ruby-mode.el
2. Press C-x v L, C-x v l or C-x v g.
3. Pick a revision, press d or D.
4. See something like either of the following:
=== modified file 'lisp/progmodes/ruby-mode.el'
bzr: ERROR: [Error 2] The system cannot find the file specified
=== modified file 'lisp/ChangeLog'
bzr: ERROR: [Error 2] The system cannot find the file specified
In GNU Emacs 24.3.50.4 (i686-pc-mingw32)
of 2013-05-23 on SOL
Bzr revision: 112672 monnier@iro.umontreal.ca-20130522213500-10ibn1m9ze3b0pgc
Windowing system distributor `Microsoft Corp.', version 6.1.7601
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-22 22:22 bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32) Dmitry Gutov
@ 2013-05-23 7:25 ` Glenn Morris
2013-05-23 12:09 ` Dmitry Gutov
2013-05-23 16:23 ` Eli Zaretskii
0 siblings, 2 replies; 11+ messages in thread
From: Glenn Morris @ 2013-05-23 7:25 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 14443
Dmitry Gutov wrote:
> 1. find-file //lisp/progmodes/ruby-mode.el
>
> 2. Press C-x v L, C-x v l or C-x v g.
>
> 3. Pick a revision, press d or D.
>
> 4. See something like either of the following:
>
> === modified file 'lisp/progmodes/ruby-mode.el'
> bzr: ERROR: [Error 2] The system cannot find the file specified
Works fine on GNU/Linux.
Does '//' (in step 1) mean something special on MS Windows?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 7:25 ` Glenn Morris
@ 2013-05-23 12:09 ` Dmitry Gutov
2013-05-23 16:09 ` Glenn Morris
2013-05-23 16:23 ` Eli Zaretskii
1 sibling, 1 reply; 11+ messages in thread
From: Dmitry Gutov @ 2013-05-23 12:09 UTC (permalink / raw)
To: Glenn Morris; +Cc: 14443
On 23.05.2013 11:25, Glenn Morris wrote:
> Dmitry Gutov wrote:
>
>> 1. find-file //lisp/progmodes/ruby-mode.el
>>
>> 2. Press C-x v L, C-x v l or C-x v g.
>>
>> 3. Pick a revision, press d or D.
>>
>> 4. See something like either of the following:
>>
>> === modified file 'lisp/progmodes/ruby-mode.el'
>> bzr: ERROR: [Error 2] The system cannot find the file specified
>
> Works fine on GNU/Linux.
Yes, sorry, next time instead of "on w32" I'll write "w32-only".
I usually test these kind of bugs in both.
> Does '//' (in step 1) mean something special on MS Windows?
Nope, just an abbreviation.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 12:09 ` Dmitry Gutov
@ 2013-05-23 16:09 ` Glenn Morris
2013-05-23 16:46 ` Dmitry Gutov
0 siblings, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2013-05-23 16:09 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 14443
Can you edebug it and find out exactly what filename is passed to the OS?
Presumably it doesn't like it for some reason.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 7:25 ` Glenn Morris
2013-05-23 12:09 ` Dmitry Gutov
@ 2013-05-23 16:23 ` Eli Zaretskii
1 sibling, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2013-05-23 16:23 UTC (permalink / raw)
To: Glenn Morris; +Cc: 14443, dgutov
> From: Glenn Morris <rgm@gnu.org>
> Date: Thu, 23 May 2013 03:25:29 -0400
> Cc: 14443@debbugs.gnu.org
>
> Dmitry Gutov wrote:
>
> > 1. find-file //lisp/progmodes/ruby-mode.el
> >
> > 2. Press C-x v L, C-x v l or C-x v g.
> >
> > 3. Pick a revision, press d or D.
> >
> > 4. See something like either of the following:
> >
> > === modified file 'lisp/progmodes/ruby-mode.el'
> > bzr: ERROR: [Error 2] The system cannot find the file specified
>
> Works fine on GNU/Linux.
Works fine for me on w32 as well.
Dmitry, you will have to dig deeper. E.g., what command is sent down
to bzr in this case and barfs?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 16:09 ` Glenn Morris
@ 2013-05-23 16:46 ` Dmitry Gutov
2013-05-23 16:52 ` Eli Zaretskii
2013-05-23 16:59 ` Glenn Morris
0 siblings, 2 replies; 11+ messages in thread
From: Dmitry Gutov @ 2013-05-23 16:46 UTC (permalink / raw)
To: Glenn Morris; +Cc: 14443
On 23.05.2013 20:09, Glenn Morris wrote:
>
> Can you edebug it and find out exactly what filename is passed to the OS?
> Presumably it doesn't like it for some reason.
vc-bzr.el uses lexical-binding, so `edebug-eval-expression' doesn't
help. Putting a `message' call in `vc-bzr-diff' yields this:
files: (~/vc/emacs-bzr/trunk/) buffer: *vc-diff* rev1: 112671 rev2: 112672
> Dmitry, you will have to dig deeper. E.g., what command is sent down
> to bzr in this case and barfs?
I'm not sure how to find out. `vc-do-command' receives the following
arguments:
buffer: *vc-diff* command: bzr file-or-list: nil flags: (diff
--diff-options -u -r 112671..112672)
By the way, here's a (somewhat related) command that fails when invoked
from command line:
bzr diff --diff-options -U0
(`bzr diff' works fine.)
Does Bazaar require additional programs to be installed? After recent
overhaul of my MinGW installation, a number of Unix utilities became
unavailable globally, including `diff'.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 16:46 ` Dmitry Gutov
@ 2013-05-23 16:52 ` Eli Zaretskii
2013-05-23 19:53 ` Dmitry Gutov
2013-05-23 16:59 ` Glenn Morris
1 sibling, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2013-05-23 16:52 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 14443
> Date: Thu, 23 May 2013 20:46:07 +0400
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: 14443@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>
>
> I'm not sure how to find out.
You could put a breakpoint on call-process and examine its arguments,
for example.
> `vc-do-command' receives the following arguments:
>
> buffer: *vc-diff* command: bzr file-or-list: nil flags: (diff
> --diff-options -u -r 112671..112672)
Why do you use --diff-options? "bzr diff" works as if -u was
specified anyway, and will use its internal emulation of Diff if you
don't pass --diff-options.
> By the way, here's a (somewhat related) command that fails when invoked
> from command line:
>
> bzr diff --diff-options -U0
>
> (`bzr diff' works fine.)
>
> Does Bazaar require additional programs to be installed?
Only if you use --diff-options.
> After recent overhaul of my MinGW installation, a number of Unix
> utilities became unavailable globally, including `diff'.
That's probably related. So restore your diff.exe, and things will
work again. They do for me, because my diff.exe is in perfect working
order.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 16:46 ` Dmitry Gutov
2013-05-23 16:52 ` Eli Zaretskii
@ 2013-05-23 16:59 ` Glenn Morris
1 sibling, 0 replies; 11+ messages in thread
From: Glenn Morris @ 2013-05-23 16:59 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 14443
Dmitry Gutov wrote:
> bzr diff --diff-options -U0
>
> (`bzr diff' works fine.)
>
> Does Bazaar require additional programs to be installed?
bzr help diff:
--diff-options=ARG Pass these options to the external diff program.
So, don't specify --diff-options if you don't have a working "diff"
executable.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 16:52 ` Eli Zaretskii
@ 2013-05-23 19:53 ` Dmitry Gutov
2013-05-23 20:17 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Gutov @ 2013-05-23 19:53 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 14443
On 23.05.2013 20:52, Eli Zaretskii wrote:
>> Date: Thu, 23 May 2013 20:46:07 +0400
>> From: Dmitry Gutov <dgutov@yandex.ru>
>> CC: 14443@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>
>>
>> I'm not sure how to find out.
>
> You could put a breakpoint on call-process and examine its arguments,
> for example.
I've rummaged around the manual a bit, and still don't understand what
the recommended workflow is.
Should I normally do `edebug-defun' before adding a breakpoint?
How do I display the value of a local variable? Even after breakpoint
hits, using `edebug-eval-expression' with the variable name still gives
me "variable is void".
How do I un-instrument a function? AFAICS, there are no commands like
`edebug-cancel-', `-reset-' or `-remove-'.
Please point me at any relevant documentation.
>> `vc-do-command' receives the following arguments:
>>
>> buffer: *vc-diff* command: bzr file-or-list: nil flags: (diff
>> --diff-options -u -r 112671..112672)
>
> Why do you use --diff-options? "bzr diff" works as if -u was
> specified anyway, and will use its internal emulation of Diff if you
> don't pass --diff-options.
`vc-bzr-diff' does that automatically because `diff-switches' is '-u' here.
If I remove that explicit setting from my config, it falls back to "-c",
and that (when external diff program is present, of course) makes vc-bzr
produce context diffs.
Curiously, vc-git still uses the unified format in that case.
Setting it to nil works as you expected.
>> After recent overhaul of my MinGW installation, a number of Unix
>> utilities became unavailable globally, including `diff'.
>
> That's probably related. So restore your diff.exe, and things will
> work again. They do for me, because my diff.exe is in perfect working
> order.
I've done that, works fine now. Sorry for the false alarm, I should have
investigated it more myself first.
Using diff.exe from the GnuWin32 collection is recommended, right?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 19:53 ` Dmitry Gutov
@ 2013-05-23 20:17 ` Eli Zaretskii
2013-05-23 20:25 ` Dmitry Gutov
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2013-05-23 20:17 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 14443
> Date: Thu, 23 May 2013 23:53:52 +0400
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: rgm@gnu.org, 14443@debbugs.gnu.org
>
> On 23.05.2013 20:52, Eli Zaretskii wrote:
> >> Date: Thu, 23 May 2013 20:46:07 +0400
> >> From: Dmitry Gutov <dgutov@yandex.ru>
> >> CC: 14443@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>
> >>
> >> I'm not sure how to find out.
> >
> > You could put a breakpoint on call-process and examine its arguments,
> > for example.
>
> I've rummaged around the manual a bit, and still don't understand what
> the recommended workflow is.
>
> Should I normally do `edebug-defun' before adding a breakpoint?
Actually, I meant GDB on the C level, but since you asked...
Yes, at least that's what I do.
> How do I display the value of a local variable?
C-x C-e with point after it, I guess. I'm quite sure it worked for me
when I used that last.
> How do I un-instrument a function? AFAICS, there are no commands like
> `edebug-cancel-', `-reset-' or `-remove-'.
Reload the .el file.
> Using diff.exe from the GnuWin32 collection is recommended, right?
That's what I use, yes.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32)
2013-05-23 20:17 ` Eli Zaretskii
@ 2013-05-23 20:25 ` Dmitry Gutov
0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Gutov @ 2013-05-23 20:25 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 14443
On 24.05.2013 0:17, Eli Zaretskii wrote:
>>> You could put a breakpoint on call-process and examine its arguments,
>>> for example.
>>
>> I've rummaged around the manual a bit, and still don't understand what
>> the recommended workflow is.
>>
>> Should I normally do `edebug-defun' before adding a breakpoint?
>
> Actually, I meant GDB on the C level, but since you asked...
Oh. Though I believe it's called something like `Fcall_process' there.
>> How do I display the value of a local variable?
>
> C-x C-e with point after it, I guess. I'm quite sure it worked for me
> when I used that last.
Then I guess you've used it in a buffer without lexical-binding.
>> How do I un-instrument a function? AFAICS, there are no commands like
>> `edebug-cancel-', `-reset-' or `-remove-'.
>
> Reload the .el file.
Thanks! It's kind of an obvious solution, but I could've spent quite a
while looking for a specialized command.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-05-23 20:25 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-22 22:22 bug#14443: 24.3.50; log-view-diff and log-view-diff-changeset broken in vc-bzr-change-log-mode and vc-annotate-mode (on w32) Dmitry Gutov
2013-05-23 7:25 ` Glenn Morris
2013-05-23 12:09 ` Dmitry Gutov
2013-05-23 16:09 ` Glenn Morris
2013-05-23 16:46 ` Dmitry Gutov
2013-05-23 16:52 ` Eli Zaretskii
2013-05-23 19:53 ` Dmitry Gutov
2013-05-23 20:17 ` Eli Zaretskii
2013-05-23 20:25 ` Dmitry Gutov
2013-05-23 16:59 ` Glenn Morris
2013-05-23 16:23 ` Eli Zaretskii
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).