Menu

#14 p4-mode renders emacs useless if p4 is not in path.

v11.0
open-accepted
None
7
2007-10-08
2005-02-02
No

If you don't have a p4 binary or it isn't in the path,
then loading p4 mode causes emacs to seize up.

It should deal with the absence of p4 gracefully.

Discussion

  • Peter Osterlund

    Peter Osterlund - 2005-03-26

    Logged In: YES
    user_id=583120

    1. You are supposed to byte-compile p4.el as stated in the
    NOTES section close to the top of p4.el. This will avoid
    calling the p4 server to retrieve help texts when p4.el is
    loaded.

    2. If the p4 executable can't be found, p4.el is supposed to
    ask for the path name to the program. It's not supposed to
    lock up. Is this not working in your environment?

     
  • Christian Höltje

    Logged In: YES
    user_id=267

    1. When I try to byte compile p4.el on my box without p4, I
    get this:
    While compiling p4-exec-p4 in file
    /home/docwhat/lib/emacs/lisp/p4.el:
    ** assignment to free variable hilit-auto-rehighlight
    Full path to your P4 executable:
    While compiling toplevel forms in file
    /home/docwhat/lib/emacs/lisp/p4.el:
    !! File error (("Searching for program" "no such file or
    directory" ""))
    Done

    2. I cannot reproduce the lockup on this system, but P4 mode
    starts going nuts, constantly asking for the location of the
    p4 binary. I tried to use the menu item to turn off the VC
    check, but I get "Symbol's function definition is void:
    p4-toggle-vc-mode-off"

    I like to use the same emacs configuration on all my
    systems, whether they have a full environment or not. The
    other VC modes do not cause problems if, for example, svn or
    cvs don't exist.

     
  • Robert Stewart

    Robert Stewart - 2007-08-22

    Logged In: YES
    user_id=402463
    Originator: NO

    Most commands in p4.el call a function to check for the p4 executable which will trigger a check for it if it hadn't been found previously. I don't know why that would lead to seizing. Perhaps the right behavior is to check once only but provide a hook whereby the user can enter the pathname later.

     
  • Christian Höltje

    Logged In: YES
    user_id=267
    Originator: YES

    I can't use P4 (yay!) and so don't use p4-mode anymore. If I'm ever forced to use P4 again, I'll revisit these issues. Sorry.

    Ciao!

     
  • Robert Stewart

    Robert Stewart - 2007-08-22

    Logged In: YES
    user_id=402463
    Originator: NO

    I have a local copy of p4.el that I have overhauled in a major way. Today, I added logic that will only trigger the prompt for the pathname of p4 *once* if not already set. All commands that would try to run p4 now fail gracefully with an error message saying that p4-executable is not set.

     
  • Robert Stewart

    Robert Stewart - 2007-08-25

    Logged In: YES
    user_id=402463
    Originator: NO

    The "Disable P4 VC Check" menu option turns off the check altogether. Perhaps that is better than what I had implemented. Maybe a message indicating the option of disabling the check would be helpful if the user doesn't provide a viable pathname is a better approach.

     
  • Robert Stewart

    Robert Stewart - 2007-09-21
    • milestone: --> v11.0
    • assigned_to: nobody --> rstewart
    • priority: 5 --> 7
    • status: open --> pending-accepted
     
  • SourceForge Robot

    Logged In: YES
    user_id=1312539
    Originator: NO

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
  • SourceForge Robot

    • status: pending-accepted --> closed-accepted
     
  • Robert Stewart

    Robert Stewart - 2007-10-08
    • status: closed-accepted --> open-accepted
     
  • Robert Stewart

    Robert Stewart - 2007-10-08

    Logged In: YES
    user_id=402463
    Originator: NO

    Improved support for dealing with disabling P4 commands will be included in the next release.

     

Log in to post a comment.