Erlang Mailing Lists

Author Message

<  Erlang patches mailing list  ~  Patch for erlang.el (optional debug_info on compile)

Guest
Posted: Fri Jun 08, 2007 12:51 am Reply with quote
Guest
Bill Clementson <billclem@gmail.com> writes:
> At present, erlang-mode doesn't provide any way to compile an erlang
> file for debug - you have to manually do the debug compile in an
> Erlang shell. This bugs me (bad pun!), so I've created a patch for
> erlang.el that does a debug compile if the standard compile function
> is called with a prefix arg (e.g. - "C-c C-k" does a "normal" compile
> and "C-u C-c C-k" does a compile with "debug_info").
>
> Attached is the patch (for erlang-mode version 2.5.2)

I've updated the patch for erlang.el version 2.5.3 (which is the one
that is in R11B-4) and added functionality so that "C-u C-c C-k" now
does a compile with both "debug_info" and "export_all".

--
Bill Clementson

--- /usr/local/lib/erlang/lib/tools-2.5.4/emacs/erlang.el 2007-03-02 07:14:38.000000000 -0800
+++ /Users/bc/Desktop/erlang.el 2007-06-07 17:21:14.000000000 -0700
@@ -5599,9 +5599,11 @@
(replace-match "" t t))))))


-(defun inferior-erlang-compile ()
+(defun inferior-erlang-compile (arg)
"Compile the file in the current buffer.

+With prefix arg, compiles for debug.
+
Should Erlang return `{error, nofile}' it could not load the object
module after completing the compilation. This is due to a bug in the
compile command `c' when using the option `outdir'.
@@ -5613,7 +5615,7 @@
2) Set the Emacs variable `erlang-compile-use-outdir' to nil.
To do so, place the following line in your `~/.emacs'-file:
(setq erlang-compile-use-outdir nil)"
- (interactive)
+ (interactive "P")
(save-some-buffers)
(or (inferior-erlang-running-p)
(save-excursion
@@ -5621,7 +5623,7 @@
(or (inferior-erlang-running-p)
(error "Error starting inferior Erlang shell"))
(let ((dir (file-name-directory (buffer-file-name)))
- ;;; (file (file-name-nondirectory (buffer-file-name)))
+;;; (file (file-name-nondirectory (buffer-file-name)))
(noext (substring (buffer-file-name) 0 -4))
;; Hopefully, noone else will ever use these...
(tmpvar "Tmp7236")
@@ -5631,12 +5633,16 @@
(inferior-erlang-wait-prompt)
(setq end (inferior-erlang-send-command
(if erlang-compile-use-outdir
- (format "c(\"%s\", [{outdir, \"%s\"}])." noext dir)
+ (if current-prefix-arg
+ (format "c(\"%s\", [{outdir, \"%s\"}, debug_info, export_all])." noext dir)
+ (format "c(\"%s\", [{outdir, \"%s\"}])." noext dir))
(format
(concat
"f(%s), {ok, %s} = file:get_cwd(), "
"file:set_cwd(\"%s\"), "
- "%s = c(\"%s\"), file:set_cwd(%s), f(%s), %s.")
+ (if current-prefix-arg
+ "%s = c(\"%s\", [debug_info, export_all]), file:set_cwd(%s), f(%s), %s."
+ "%s = c(\"%s\"), file:set_cwd(%s), f(%s), %s."))
tmpvar2 tmpvar
dir
tmpvar2 noext tmpvar tmpvar tmpvar2))

_______________________________________________
erlang-patches mailing list
erlang-patches@erlang.org
http://www.erlang.org/mailman/listinfo/erlang-patches
Post recived from mailinglist

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum