|
|
| Author |
Message |
|
| Guest |
Posted: Fri Jun 08, 2007 12:51 am |
|
|
|
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 |
|
|
| Back to top |
|
|
|
All times are GMT
|
|
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
|
|
|