Menu

#1219 Compilation of docs/gnuplot-eldoc.el fails with XEmacs

closed-accepted
nobody
None
5
2015-03-23
2013-03-04
No

With XEmacs (version 21.5.31), byte-compilation of gnuplot-eldoc.el in the docs directory silently fails. There is no error message, but gnuplot-eldoc.elc is not generated, so it abort later when doing "make install" because the file is not found.

Attached patch fixes the problem for me.

1 Attachments

Discussion

  • Ethan Merritt

    Ethan Merritt - 2013-07-01

    emacs --help | grep site
    --no-site-file do not load site-start.el

    It seems to me that if the "fix" is to bypass your local emacs configuration file, then the problem is in the configuration file rather than anything to do with gnuplot per se.

     
  • Ethan Merritt

    Ethan Merritt - 2013-07-01
    • status: open --> closed-works-for-me
     
  • Ulrich Müller

    Ulrich Müller - 2013-07-01

    You've missed the point. The problem is that --eval='(byte-compile-file "gnuplot-eldoc.el")' fails for XEmacs, and replacing it by -f batch-byte-compile fixes this bug.

    Adding the -q -no-site-file options are just an additional cleanup. It's the standard way for calling Emacs in batch mode, used by many other Elisp packages.

     
  • Ulrich Müller

    Ulrich Müller - 2013-07-01
    • status: closed-works-for-me --> open
     
  • Ethan Merritt

    Ethan Merritt - 2013-07-02

    OK. Sorry if I focused on the wrong part of the patch. However, I have now tried parallel builds of fresh gnuplot source with/without your patch and using emacs/xemacs. For me xemacs fails with the error message:

    [8] make gnuplot.texi
    Creating texinfo and eldoc strings file
    Inserting help for terminals ...
    Analyzing doc file ...
    Converting to texinfo ...
    Symbol's function definition is void: replace-regexp-in-string
    xemacs exiting

    But it fails with that same error both with and without your patch.
    A bit of Googling suggests that various xemacs add-ons could provide a replacement for this missing routine, but I don't know how best to turn that information into an autoconf test or a stated requirement.

    Did you get xemacs past this point? How?

    Alternatively, can you provide an xemacs-compatible rewrite of the single line in doc2texi.el that calls this routine?

     
  • Ulrich Müller

    Ulrich Müller - 2013-07-02

    I have no problems with XEmacs 21.5.33 which has the replace-regexp-in-string function. But I see that it's not there in XEmacs 21.4, and indeed the build fails with that version (it hangs in d2t-doc-to-texi).

    If I add the following snippet at the top of doc2texi.el (after the similar kludge for split-string), then the build succeeds for me with XEmacs 21.4.22:

    (eval-and-compile
      (and (featurep 'xemacs)
           ;; XEmacs 21.4 doesn't have replace-regexp-in-string
           (not (fboundp 'replace-regexp-in-string))
           (defun replace-regexp-in-string (regexp rep string)
             (replace-in-string string regexp rep))))
    
     
  • Ethan Merritt

    Ethan Merritt - 2013-07-02

    Excellent.
    I've added these changes to CVS for 4.6 and 4.7

     
  • Ethan Merritt

    Ethan Merritt - 2013-07-02
    • status: open --> closed-accepted
     

Log in to post a comment.