unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Kevin Rodgers <ihs_4664@yahoo.com>
Subject: Re: problems with ediff-startup-hooks
Date: Wed, 01 Mar 2006 11:45:27 -0700	[thread overview]
Message-ID: <du4q5g$pit$1@sea.gmane.org> (raw)
In-Reply-To: <OFB3B0C803.4FE6AB9D-ON85257122.00506641-85257122.0050C562@lexmark.com>

bhenz@Lexmark.com wrote:
 > I running emacs 21.4.1. I'm trying to do some fancy ediff stuff.
 >
 > Actually not terribly fancy, I just want to invoke it from the command
 > line with parmeters similar to "diff", specifically using the -L option
 > to give more descriptive names to the buffers. Currently I can ediff two
 > files by doing the following...
 >
 > emacs --eval='(progn (setq ediff-diff-options "-wbB") (ediff-files
 > "file1" "file2"))'
 >
 > Maybe there's an easier/better way?

Looks good to me, but here's a snippet that'll let you run
emacs --diff file1 file2

Perhaps you can tweak it to accept ediff-diff-options as a command line
argument as well.

(defun diff-command-line-args (switch)
   "Run `ediff-files' on the following 2 command line arguments (after 
SWITCH)."
   ;; (prog1 ...) == (pop command-line-args-left):
   (let ((file-a (prog1 (car command-line-args-left)
                  (setq command-line-args-left
                        (cdr command-line-args-left))))
         (file-b (prog1 (car command-line-args-left)
                  (setq command-line-args-left
                        (cdr command-line-args-left)))))
     (ediff-files file-a file-b)))

(setq command-switch-alist
       (cons '("--diff" . diff-command-line-args) command-switch-alist))

 > ANYWAY,
 >
 > The path I'm currently on requires me to hook into the
 > "ediff-startup-hooks" with the following code in my .emacs file...
 >
 > (require 'ediff)
 >
 > ;; Get rid of the annoying little (separate) ediff window and
 > ;; turn it into a 3rd pane in the main emacs window.
 > (setq ediff-window-setup-function 'ediff-setup-windows-plain)
 >
 > ;; Put files side-by-side
 > ;(setq ediff-split-window-function 'split-window-horizontally)
 >
 > (defun my-ediff-startup-hooks ()
 >     (set-buffer ediff-buffer-A)
 >     (rename-buffer "bobA")
 >     (set-buffer ediff-buffer-B)
 >     (rename-buffer "bobB")
 > )
 >
 > (add-hook 'ediff-startup-hooks 'my-ediff-startup-hooks)
 >
 > OK, so this is just baby-step code because clearly "bobA" and "bobB" are
 > not useful, but I can't even get THIS to work! I even tried inserting a
 > line I knew would fail in the defined function (something like
 > (undefined_bob_qwerty)) and I never got a complaint when I fired up a
 > new instance of ediff.
 >
 > (but I know it was picking up my changes to .emacs because if I made a
 > /syntax/ error then it would warn me about that.)
 >
 > What am I doing wrong?

AFAIK, the name of the variable is ediff-startup-hook (no "s").

-- 
Kevin Rodgers

  reply	other threads:[~2006-03-01 18:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-27 14:38 problems with ediff-startup-hooks bhenz
2006-03-01 18:45 ` Kevin Rodgers [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-03-02 14:42 bhenz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='du4q5g$pit$1@sea.gmane.org' \
    --to=ihs_4664@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).