unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Integrate my package into Emacs
@ 2022-04-22 15:36 Mariano Montone
  2022-04-22 17:44 ` Eduardo Ochs
  2022-04-25 16:40 ` Stefan Monnier
  0 siblings, 2 replies; 18+ messages in thread
From: Mariano Montone @ 2022-04-22 15:36 UTC (permalink / raw)
  To: emacs-devel

Hello,

I've implemented an inspector tool for elisp, and I think it could be 
nice to integrate into Emacs distro.

https://github.com/mmontone/emacs-inspector

What do you think?

What are the steps I'd need to follow for that?


Thanks,

Mariano




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-04-22 15:36 Integrate my package into Emacs Mariano Montone
@ 2022-04-22 17:44 ` Eduardo Ochs
  2022-04-22 17:57   ` Mariano Montone
  2022-04-25 16:40 ` Stefan Monnier
  1 sibling, 1 reply; 18+ messages in thread
From: Eduardo Ochs @ 2022-04-22 17:44 UTC (permalink / raw)
  To: Mariano Montone; +Cc: Emacs developers

On Fri, 22 Apr 2022 at 12:37, Mariano Montone <marianomontone@gmail.com> wrote:
>
> Hello,
>
> I've implemented an inspector tool for elisp, and I think it could be
> nice to integrate into Emacs distro.
>
> https://github.com/mmontone/emacs-inspector
>
> What do you think?
>
> What are the steps I'd need to follow for that?
>
>
> Thanks,
>
> Mariano

Hi Mariano,

can you record a short video showing how you use it? The README and
the screenshot give the impression that this

  Similar to inspectors available for Smalltalk and Common Lisp, but
  for Emacs Lisp.

is a distant goal, and that at this moment your inspector does very
little...

  Cheers,
    Eduardo Ochs
    http://angg.twu.net/#eev
    http://angg.twu.net/#eev-blogposts



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-04-22 17:44 ` Eduardo Ochs
@ 2022-04-22 17:57   ` Mariano Montone
  2022-04-22 21:16     ` Mariano Montone
  0 siblings, 1 reply; 18+ messages in thread
From: Mariano Montone @ 2022-04-22 17:57 UTC (permalink / raw)
  To: Eduardo Ochs; +Cc: Emacs developers

El 22/4/22 a las 14:44, Eduardo Ochs escribió:
> On Fri, 22 Apr 2022 at 12:37, Mariano Montone <marianomontone@gmail.com> wrote:
>> Hello,
>>
>> I've implemented an inspector tool for elisp, and I think it could be
>> nice to integrate into Emacs distro.
>>
>> https://github.com/mmontone/emacs-inspector
>>
>> What do you think?
>>
>> What are the steps I'd need to follow for that?
>>
>>
>> Thanks,
>>
>> Mariano
> Hi Mariano,
>
> can you record a short video showing how you use it? The README and
> the screenshot give the impression that this
>
>    Similar to inspectors available for Smalltalk and Common Lisp, but
>    for Emacs Lisp.
>
> is a distant goal, and that at this moment your inspector does very
> little...

Hi Eduardo,

on the contrary, I consider it very complete. I've gone through every 
ELisp data type to make sure it can be inspected.

Also, it supports any level of nesting and data size (pagination).

And ... you can use it to inspect backtraces on the debugger.

I'll post a video soon.


Mariano




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-04-22 17:57   ` Mariano Montone
@ 2022-04-22 21:16     ` Mariano Montone
  0 siblings, 0 replies; 18+ messages in thread
From: Mariano Montone @ 2022-04-22 21:16 UTC (permalink / raw)
  To: Eduardo Ochs; +Cc: Emacs developers

Hello,

here's a demo video of the inspector: 
https://drive.google.com/file/d/1808JlDM0q-aW4woZQBscatxp6omIR2j8/view?usp=sharing

Please let me know what you think.

Thanks,

Mariano

El 22/4/22 a las 14:57, Mariano Montone escribió:
> El 22/4/22 a las 14:44, Eduardo Ochs escribió:
>> On Fri, 22 Apr 2022 at 12:37, Mariano Montone 
>> <marianomontone@gmail.com> wrote:
>>> Hello,
>>>
>>> I've implemented an inspector tool for elisp, and I think it could be
>>> nice to integrate into Emacs distro.
>>>
>>> https://github.com/mmontone/emacs-inspector
>>>
>>> What do you think?
>>>
>>> What are the steps I'd need to follow for that?
>>>
>>>
>>> Thanks,
>>>
>>> Mariano
>> Hi Mariano,
>>
>> can you record a short video showing how you use it? The README and
>> the screenshot give the impression that this
>>
>>    Similar to inspectors available for Smalltalk and Common Lisp, but
>>    for Emacs Lisp.
>>
>> is a distant goal, and that at this moment your inspector does very
>> little...
>
> Hi Eduardo,
>
> on the contrary, I consider it very complete. I've gone through every 
> ELisp data type to make sure it can be inspected.
>
> Also, it supports any level of nesting and data size (pagination).
>
> And ... you can use it to inspect backtraces on the debugger.
>
> I'll post a video soon.
>
>
> Mariano
>




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-04-22 15:36 Integrate my package into Emacs Mariano Montone
  2022-04-22 17:44 ` Eduardo Ochs
@ 2022-04-25 16:40 ` Stefan Monnier
  2022-04-25 17:14   ` Mariano Montone
  2022-05-24 19:22   ` Mariano Montone
  1 sibling, 2 replies; 18+ messages in thread
From: Stefan Monnier @ 2022-04-25 16:40 UTC (permalink / raw)
  To: Mariano Montone; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1717 bytes --]

Mariano Montone [2022-04-22 12:36:16] wrote:
> I've implemented an inspector tool for elisp, and I think it could be nice
> to integrate into Emacs distro.
>
> https://github.com/mmontone/emacs-inspector
>
> What do you think?

As a first step, I'd be happy to add it to GNU ELPA.

> What are the steps I'd need to follow for that?

The main thing is to sign the copyright paperwork, without which your
code can't be integrated in Emacs (nor in GNU ELPA).
To do that, please fill the form below and email it to the FSF as
instructed so they can send you the relevant paperwork to sign.

I also attached a patch resulting from my quick reading of your code.
Meant as much for reading as for applying (e.g. includes some
FIXMEs).


        Stefan


Please email the following information to assign@gnu.org, and we
will send you the assignment form for your past and future changes.

Please use your full legal name (in ASCII characters) as the subject
line of the message.
----------------------------------------------------------------------
REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES

[What is the name of the program or package you're contributing to?]
Emacs

[Did you copy any files or text written by someone else in these changes?
Even if that material is free software, we need to know about it.]


[Do you have an employer who might have a basis to claim to own
your changes?  Do you attend a school which might make such a claim?]


[For the copyright registration, what country are you a citizen of?]


[What year were you born?]


[Please write your email address here.]


[Please write your postal address here.]





[Which files have you changed so far, and which new files have you written
so far?]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: inspector.diff --]
[-- Type: text/x-diff, Size: 7482 bytes --]

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000..9416f1e9c7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/inspector-autoloads.el
+/inspector-pkg.el
+*.elc
diff --git a/inspector.el b/inspector.el
index 9c36611556..02d980479b 100644
--- a/inspector.el
+++ b/inspector.el
@@ -159,18 +159,20 @@
 
 (defun inspector--insert-inspect-button (object &optional label)
   "Insert button for inspecting OBJECT.
-If LABEL has a value, then it is used as button label.  Otherwise, button label is the printed representation of OBJECT."
+If LABEL has a value, then it is used as button label.
+Otherwise, button label is the printed representation of OBJECT."
   (insert-button (or (and label (inspector--princ-to-string label))
                      (inspector--print-truncated object))
-                 'action (lambda (btn)
-                           (ignore btn)
+                 'action (lambda (_btn)
                            (inspector-inspect object t))
                  'follow-link t))
 
 (defun inspector--do-with-slicer (slicer function)
   "Use SLICER and call FUNCTION on the resulting slice.
 SLICE should be a function that returns a slice of some data.
-FUNCTION is passed the resulting slice and a continuation function that when called continues the consumption of slices of data, until there are no more slices (the returned slice is NIL)."
+FUNCTION is passed the resulting slice and a continuation function that when
+called continues the consumption of slices of data, until there are no more
+slices (the returned slice is nil)."
   (let ((slice (funcall slicer)))
     (when slice
       (funcall function slice
@@ -178,7 +180,8 @@ FUNCTION is passed the resulting slice and a continuation function that when cal
 
 (defun inspector--do-with-slicer-and-more-button (slicer function)
   "Apply the SLICER function and apply FUNCTION to the resulting slice.
-When FUNCTION returns not NIL, adds a [More] button that inserts the next slice in buffer."
+When FUNCTION returns non-nil, adds a [More] button that inserts the next
+slice in buffer."
   (inspector--do-with-slicer
    slicer
    (lambda (slice cont)
@@ -186,8 +189,7 @@ When FUNCTION returns not NIL, adds a [More] button that inserts the next slice
        (when more-p
          (insert-button "[more]"
                         'action (let ((pos (point)))
-                                  (lambda (btn)
-                                    (ignore btn)
+                                  (lambda (_btn)
                                     (setq buffer-read-only nil)
                                     (goto-char pos)
                                     (delete-char (length "[More]"))
@@ -219,15 +221,13 @@ When FUNCTION returns not NIL, adds a [More] button that inserts the next slice
      (eieio-class-name subclass) (eieio-class-name subclass))
     (insert " ")))
 
-(cl-defmethod inspect-object ((object (eql t)))
+(cl-defmethod inspect-object ((_object (eql t)))
   "Render inspector buffer for boolean T."
-  (ignore object)
   (inspector--insert-title "boolean")
   (insert "value: t"))
 
-(cl-defmethod inspect-object ((object (eql nil)))
-  "Render inspector buffer for NIL object."
-  (ignore object)
+(cl-defmethod inspect-object ((_object (eql nil)))
+  "Render inspector buffer for nil object."
   (inspector--insert-title "nil")
   (insert "value: nil"))
 
@@ -325,8 +325,7 @@ When FUNCTION returns not NIL, adds a [More] button that inserts the next slice
          (when (< i (length cons))
            (cl-subseq cons i (min (cl-incf i inspector-slice-size)
                                   (length cons)))))
-       (lambda (slice cont)
-         (ignore cont)
+       (lambda (slice _cont)
          (dolist (cons slice)
            (insert "(")
            (inspector--insert-inspect-button (car cons))
@@ -348,8 +347,7 @@ When FUNCTION returns not NIL, adds a [More] button that inserts the next slice
          (when (< i (length cons))
            (cl-subseq cons i (min (cl-incf i inspector-slice-size)
                                   (length cons)))))
-       (lambda (slice cont)
-         (ignore cont)
+       (lambda (slice _cont)
          (dolist (elem slice)
            (insert (format "%d: " j))
            (cl-incf j)
@@ -384,8 +382,7 @@ When FUNCTION returns not NIL, adds a [More] button that inserts the next slice
          (when (< i length)
            (cons i (1- (min (cl-incf i inspector-slice-size)
                             length)))))
-       (lambda (slice cont)
-         (ignore cont)
+       (lambda (slice _cont)
          (cl-loop for k from (car slice) to (cdr slice)
                   do
                   (insert (format "%d: " k))
@@ -489,8 +486,7 @@ When FUNCTION returns not NIL, adds a [More] button that inserts the next slice
            (when (< i (length keys))
              (cl-subseq keys i (min (cl-incf i inspector-slice-size)
                                     (length keys)))))
-         (lambda (slice cont)
-           (ignore cont)
+         (lambda (slice _cont)
            (dolist (key slice)
              (inspector--insert-inspect-button key)
              (insert ": ")
@@ -522,9 +518,10 @@ When FUNCTION returns not NIL, adds a [More] button that inserts the next slice
   "Evaluate and inspect EXP expression."
   (interactive (list (read--expression "Eval and inspect: ")))
 
-  (inspector-inspect (eval exp)))
+  (inspector-inspect (eval exp t)))
 
 (defun inspector--basic-inspect (object)
+  (defvar *)
   (let ((buffer (inspector-make-inspector-buffer)))
     (with-current-buffer buffer
       (setq inspector-inspected-object object)
@@ -601,15 +598,15 @@ When PRESERVE-HISTORY is T, inspector history is not cleared."
 ;;--------- Inspector mode ---------------------------------
 
 ;; Press letter 'i' in debugger backtrace to inspect locals.
-(define-key debugger-mode-map (kbd "i") 'debugger-inspect-frame-and-locals)
+(define-key debugger-mode-map (kbd "i") #'debugger-inspect-frame-and-locals)
 
 (defvar inspector-mode-map
   (let ((map (make-keymap)))
-    (define-key map "q" 'inspector-quit)
-    (define-key map "l" 'inspector-pop)
-    (define-key map "e" 'eval-expression)
-    (define-key map "n" 'forward-button)
-    (define-key map "p" 'backward-button)
+    (define-key map "q" #'inspector-quit)
+    (define-key map "l" #'inspector-pop)
+    (define-key map "e" #'eval-expression)
+    (define-key map "n" #'forward-button)
+    (define-key map "p" #'backward-button)
     map))
 
 (easy-menu-define
diff --git a/test.el b/test.el
index 1b48b7b54d..0d0aa309c9 100644
--- a/test.el
+++ b/test.el
@@ -1,6 +1,11 @@
-;; Test inspector on all data types
+;; Test inspector on all data types  -*- lexical-binding: t; -*-
 ;; https://www.gnu.org/software/emacs/manual/html_node/elisp/Programming-Types.html
 
+;; FIXME: Add copyright&license blurbs.
+;; FIXME: Loading an ELisp file should not have any "visible" side effect.
+;; The best may to fix this here is likely to use `ert-deftest'.
+;; FIXME: Change the file's name to avoid clashes with other packages.
+
 (require 'inspector)
 
 (inspector-inspect 22)
@@ -74,5 +79,5 @@
 (inspector-inspect (cl-loop for i from 1 to 101 collect (cons i (1+ i))))
 (inspector-inspect (cl-loop for i from 1 to 101 collect (gensym) collect i))
 
-(inspector-inspect (apply 'vector (cl-loop for i from 1 to 1000 collect i)))
+(inspector-inspect (apply #'vector (cl-loop for i from 1 to 1000 collect i)))
 

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-04-25 16:40 ` Stefan Monnier
@ 2022-04-25 17:14   ` Mariano Montone
  2022-05-24 19:22   ` Mariano Montone
  1 sibling, 0 replies; 18+ messages in thread
From: Mariano Montone @ 2022-04-25 17:14 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Hi Stefan,

thank you! Both for the info and the code.

I'll be following what you suggest.

Cheers,

Mariano


El 25/4/22 a las 13:40, Stefan Monnier escribió:
> Mariano Montone [2022-04-22 12:36:16] wrote:
>> I've implemented an inspector tool for elisp, and I think it could be nice
>> to integrate into Emacs distro.
>>
>> https://github.com/mmontone/emacs-inspector
>>
>> What do you think?
> As a first step, I'd be happy to add it to GNU ELPA.
>
>> What are the steps I'd need to follow for that?
> The main thing is to sign the copyright paperwork, without which your
> code can't be integrated in Emacs (nor in GNU ELPA).
> To do that, please fill the form below and email it to the FSF as
> instructed so they can send you the relevant paperwork to sign.
>
> I also attached a patch resulting from my quick reading of your code.
> Meant as much for reading as for applying (e.g. includes some
> FIXMEs).
>
>
>          Stefan
>
>
> Please email the following information to assign@gnu.org, and we
> will send you the assignment form for your past and future changes.
>
> Please use your full legal name (in ASCII characters) as the subject
> line of the message.
> ----------------------------------------------------------------------
> REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES
>
> [What is the name of the program or package you're contributing to?]
> Emacs
>
> [Did you copy any files or text written by someone else in these changes?
> Even if that material is free software, we need to know about it.]
>
>
> [Do you have an employer who might have a basis to claim to own
> your changes?  Do you attend a school which might make such a claim?]
>
>
> [For the copyright registration, what country are you a citizen of?]
>
>
> [What year were you born?]
>
>
> [Please write your email address here.]
>
>
> [Please write your postal address here.]
>
>
>
>
>
> [Which files have you changed so far, and which new files have you written
> so far?]





^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-04-25 16:40 ` Stefan Monnier
  2022-04-25 17:14   ` Mariano Montone
@ 2022-05-24 19:22   ` Mariano Montone
  2022-05-24 22:59     ` Stefan Monnier
  1 sibling, 1 reply; 18+ messages in thread
From: Mariano Montone @ 2022-05-24 19:22 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Hi Stefan,

I've signed the papers and applied your changes.

What would be the next step? Can you have a look again at my package let 
me know?

Thanks!

Mariano

El 25/4/22 a las 13:40, Stefan Monnier escribió:
> Mariano Montone [2022-04-22 12:36:16] wrote:
>> I've implemented an inspector tool for elisp, and I think it could be nice
>> to integrate into Emacs distro.
>>
>> https://github.com/mmontone/emacs-inspector
>>
>> What do you think?
> As a first step, I'd be happy to add it to GNU ELPA.
>
>> What are the steps I'd need to follow for that?
> The main thing is to sign the copyright paperwork, without which your
> code can't be integrated in Emacs (nor in GNU ELPA).
> To do that, please fill the form below and email it to the FSF as
> instructed so they can send you the relevant paperwork to sign.
>
> I also attached a patch resulting from my quick reading of your code.
> Meant as much for reading as for applying (e.g. includes some
> FIXMEs).
>
>
>          Stefan
>
>
> Please email the following information to assign@gnu.org, and we
> will send you the assignment form for your past and future changes.
>
> Please use your full legal name (in ASCII characters) as the subject
> line of the message.
> ----------------------------------------------------------------------
> REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES
>
> [What is the name of the program or package you're contributing to?]
> Emacs
>
> [Did you copy any files or text written by someone else in these changes?
> Even if that material is free software, we need to know about it.]
>
>
> [Do you have an employer who might have a basis to claim to own
> your changes?  Do you attend a school which might make such a claim?]
>
>
> [For the copyright registration, what country are you a citizen of?]
>
>
> [What year were you born?]
>
>
> [Please write your email address here.]
>
>
> [Please write your postal address here.]
>
>
>
>
>
> [Which files have you changed so far, and which new files have you written
> so far?]





^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-24 19:22   ` Mariano Montone
@ 2022-05-24 22:59     ` Stefan Monnier
  2022-05-24 23:11       ` Stefan Monnier
  2022-05-26 12:47       ` Mariano Montone
  0 siblings, 2 replies; 18+ messages in thread
From: Stefan Monnier @ 2022-05-24 22:59 UTC (permalink / raw)
  To: Mariano Montone; +Cc: emacs-devel

Mariano Montone [2022-05-24 16:22:37] wrote:
> I've signed the papers and applied your changes.

Yay!

> What would be the next step? Can you have a look again at my package let
> me know?

I just pushed it to `elpa.git`.  It won't appear on GNU ELPA yet, tho
because your copyright line still has your name.  You'll have to change
it to the FSF (and after that (or at the same time) change the
`Version:` to make a "new" release from that).

See patch below which includes the copyright change along with various
FIXME comments (meant to be read rather than applied.  If you have any
questions/answers about those FIXMEs, feel free to send them right here).


        Stefan


diff --git a/README.md b/README.md
index 06a6d142be..743dfcd604 100644
--- a/README.md
+++ b/README.md
@@ -6,6 +6,11 @@ Inspector tool for Emacs Lisp objects.
 
 Similar to inspectors available for Smalltalk and Common Lisp, but for Emacs Lisp.
 
+<!-- FIXME: As far as I can tell, this cannot be viewed without
+     running Google's proprietary code in one's browser.
+     Any chance you can upload it to a site more respectful of its
+     users (like some PeerTube instance, maybe), or place a link that
+     goes straight to the MP4?  -->
 DEMO VIDEO: https://drive.google.com/file/d/1808JlDM0q-aW4woZQBscatxp6omIR2j8/view
 
 ![emacs-inspector.png](emacs-inspector.png "Emacs Inspector")
diff --git a/inspector.el b/inspector.el
index f32416198d..d011bc6ce0 100644
--- a/inspector.el
+++ b/inspector.el
@@ -1,6 +1,6 @@
 ;;; inspector.el --- Tool for inspection of Emacs Lisp objects.  -*- lexical-binding: t -*-
 
-;; Copyright (C) 2021 Mariano Montone
+;; Copyright (C) 2021-2022 Free Software Foundation, Inc.
 
 ;; Author: Mariano Montone <marianomontone@gmail.com>
 ;; URL: https://github.com/mmontone/emacs-inspector
@@ -616,6 +616,8 @@ When PRESERVE-HISTORY is T, inspector history is not cleared."
 
 ;;;###autoload
 (defun inspect-last-sexp ()
+  ;; FIXME: According to the code, this doesn't inspect the "sexp before point"
+  ;; but the value returned by the evaluation of that sexp.
   "Evaluate and inspect sexp before point."
   (interactive)
   (let ((result (eval (eval-sexp-add-defvars (elisp--preceding-sexp)) lexical-binding)))
@@ -623,6 +625,9 @@ When PRESERVE-HISTORY is T, inspector history is not cleared."
 
 ;;-- Inspection from Emacs debugger
 
+;; FIXME: Please use the "inspect-" namespace instead of stepping onto
+;; the debugger's namespace, e.g. `inspect-debugger-locals'.
+
 ;;;###autoload
 (defun debugger-inspect-locals ()
   "Inspect local variables of the frame at point in debugger backtrace."
@@ -683,13 +688,9 @@ When PRESERVE-HISTORY is T, inspector history is not cleared."
      :vert-only t)
     map))
 
-(add-hook 'inspector-mode-hook
-          (lambda ()
-            (setq-local tool-bar-map inspector-tool-bar-map)))
-
-;; Better define and use a major mode?:
-(define-derived-mode inspector-mode fundamental-mode
-  "Inspector mode")
+(define-derived-mode inspector-mode fundamental-mode "Inspector"
+  "Major mode for the Emacs Lisp Inspector."
+  (setq-local tool-bar-map inspector-tool-bar-map))
 
 (provide 'inspector)
 




^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-24 22:59     ` Stefan Monnier
@ 2022-05-24 23:11       ` Stefan Monnier
  2022-05-24 23:16         ` Mariano Montone
  2022-05-26 12:47       ` Mariano Montone
  1 sibling, 1 reply; 18+ messages in thread
From: Stefan Monnier @ 2022-05-24 23:11 UTC (permalink / raw)
  To: Mariano Montone; +Cc: emacs-devel

> See patch below which includes the copyright change along with various
> FIXME comments (meant to be read rather than applied.  If you have any
> questions/answers about those FIXMEs, feel free to send them right here).

One more comment: it would be good to expand the docstring of
`cl-defgeneric inspect-object` to clarify what is expected from methods
of this generic function.  E.g. specify that they're supposed to write
into the current-buffer, clarify if that buffer can be presumed to be
empty or not and what kind of formatting it can/should obey
(e.g. mention that they're expected to use
`inspector--insert-inspect-button` when inserting a sub-object).

Also, I'm curious why you used a default method for that generic
function where you have a big `cond` dispatching on the type of the
argument: why not use separate methods instead?


        Stefan




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-24 23:11       ` Stefan Monnier
@ 2022-05-24 23:16         ` Mariano Montone
  2022-05-25  0:54           ` Stefan Monnier
  0 siblings, 1 reply; 18+ messages in thread
From: Mariano Montone @ 2022-05-24 23:16 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Hi Stefan,

thanks a bunch for your help. You are making my life too easy with your 
diffs ;)

about :

El 24/5/22 a las 20:11, Stefan Monnier escribió:
> Also, I'm curious why you used a default method for that generic
> function where you have a big `cond` dispatching on the type of the
> argument: why not use separate methods instead?

Because the generic function dispatch was not working for the types of 
arguments considered in the cond when I tried to implement like that .. 
but I'll revise that.

Thanks!

Mariano




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-24 23:16         ` Mariano Montone
@ 2022-05-25  0:54           ` Stefan Monnier
  0 siblings, 0 replies; 18+ messages in thread
From: Stefan Monnier @ 2022-05-25  0:54 UTC (permalink / raw)
  To: Mariano Montone; +Cc: emacs-devel

> Because the generic function dispatch was not working for the types of
>  arguments considered in the cond when I tried to implement like that .. but
> I'll revise that.

Sometimes it's a fundamental problem, but sometimes it's just an
oversight, so when in doubt, better report it as a bug.


        Stefan




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-24 22:59     ` Stefan Monnier
  2022-05-24 23:11       ` Stefan Monnier
@ 2022-05-26 12:47       ` Mariano Montone
  2022-05-26 15:10         ` Stefan Monnier
  1 sibling, 1 reply; 18+ messages in thread
From: Mariano Montone @ 2022-05-26 12:47 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Hi Stefan,

I've applied your changes: 
https://github.com/mmontone/emacs-inspector/commit/d7c5e7cb292eb23e66de78ae12ede15323bd0531

Do you think it is acceptable now?

About the inspect-last-sexp function, I changed the comment, but where 
you thinking about some more explicit name for the function? Like: 
eval-last-sexp-and-inspect , or something like that ...

Let me know if you think there's anything else that needs changing.

Mariano

El 24/5/22 a las 19:59, Stefan Monnier escribió:
> Mariano Montone [2022-05-24 16:22:37] wrote:
>> I've signed the papers and applied your changes.
> Yay!
>
>> What would be the next step? Can you have a look again at my package let
>> me know?
> I just pushed it to `elpa.git`.  It won't appear on GNU ELPA yet, tho
> because your copyright line still has your name.  You'll have to change
> it to the FSF (and after that (or at the same time) change the
> `Version:` to make a "new" release from that).
>
> See patch below which includes the copyright change along with various
> FIXME comments (meant to be read rather than applied.  If you have any
> questions/answers about those FIXMEs, feel free to send them right here).
>
>
>          Stefan
>
>
> diff --git a/README.md b/README.md
> index 06a6d142be..743dfcd604 100644
> --- a/README.md
> +++ b/README.md
> @@ -6,6 +6,11 @@ Inspector tool for Emacs Lisp objects.
>   
>   Similar to inspectors available for Smalltalk and Common Lisp, but for Emacs Lisp.
>   
> +<!-- FIXME: As far as I can tell, this cannot be viewed without
> +     running Google's proprietary code in one's browser.
> +     Any chance you can upload it to a site more respectful of its
> +     users (like some PeerTube instance, maybe), or place a link that
> +     goes straight to the MP4?  -->
>   DEMO VIDEO: https://drive.google.com/file/d/1808JlDM0q-aW4woZQBscatxp6omIR2j8/view
>   
>   ![emacs-inspector.png](emacs-inspector.png "Emacs Inspector")
> diff --git a/inspector.el b/inspector.el
> index f32416198d..d011bc6ce0 100644
> --- a/inspector.el
> +++ b/inspector.el
> @@ -1,6 +1,6 @@
>   ;;; inspector.el --- Tool for inspection of Emacs Lisp objects.  -*- lexical-binding: t -*-
>   
> -;; Copyright (C) 2021 Mariano Montone
> +;; Copyright (C) 2021-2022 Free Software Foundation, Inc.
>   
>   ;; Author: Mariano Montone <marianomontone@gmail.com>
>   ;; URL: https://github.com/mmontone/emacs-inspector
> @@ -616,6 +616,8 @@ When PRESERVE-HISTORY is T, inspector history is not cleared."
>   
>   ;;;###autoload
>   (defun inspect-last-sexp ()
> +  ;; FIXME: According to the code, this doesn't inspect the "sexp before point"
> +  ;; but the value returned by the evaluation of that sexp.
>     "Evaluate and inspect sexp before point."
>     (interactive)
>     (let ((result (eval (eval-sexp-add-defvars (elisp--preceding-sexp)) lexical-binding)))
> @@ -623,6 +625,9 @@ When PRESERVE-HISTORY is T, inspector history is not cleared."
>   
>   ;;-- Inspection from Emacs debugger
>   
> +;; FIXME: Please use the "inspect-" namespace instead of stepping onto
> +;; the debugger's namespace, e.g. `inspect-debugger-locals'.
> +
>   ;;;###autoload
>   (defun debugger-inspect-locals ()
>     "Inspect local variables of the frame at point in debugger backtrace."
> @@ -683,13 +688,9 @@ When PRESERVE-HISTORY is T, inspector history is not cleared."
>        :vert-only t)
>       map))
>   
> -(add-hook 'inspector-mode-hook
> -          (lambda ()
> -            (setq-local tool-bar-map inspector-tool-bar-map)))
> -
> -;; Better define and use a major mode?:
> -(define-derived-mode inspector-mode fundamental-mode
> -  "Inspector mode")
> +(define-derived-mode inspector-mode fundamental-mode "Inspector"
> +  "Major mode for the Emacs Lisp Inspector."
> +  (setq-local tool-bar-map inspector-tool-bar-map))
>   
>   (provide 'inspector)
>   
>




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-26 12:47       ` Mariano Montone
@ 2022-05-26 15:10         ` Stefan Monnier
  2022-05-26 15:36           ` Mariano Montone
  0 siblings, 1 reply; 18+ messages in thread
From: Stefan Monnier @ 2022-05-26 15:10 UTC (permalink / raw)
  To: Mariano Montone; +Cc: emacs-devel

Mariano Montone [2022-05-26 09:47:45] wrote:
> I've applied your changes:
> https://github.com/mmontone/emacs-inspector/commit/d7c5e7cb292eb23e66de78ae12ede15323bd0531

Thanks
(I think there's also a copyright line that needs changing in
inspector-test.el, tho).

> Do you think it is acceptable now?

Yes.

> About the inspect-last-sexp function, I changed the comment, but were you
>  thinking about some more explicit name for the function? Like:
>  eval-last-sexp-and-inspect , or something like that ...

No, my worry was only about namespace management.


        Stefan




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-26 15:10         ` Stefan Monnier
@ 2022-05-26 15:36           ` Mariano Montone
  2022-05-26 16:07             ` Stefan Monnier
  0 siblings, 1 reply; 18+ messages in thread
From: Mariano Montone @ 2022-05-26 15:36 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

El 26/5/22 a las 12:10, Stefan Monnier escribió:
> Mariano Montone [2022-05-26 09:47:45] wrote:
>> I've applied your changes:
>> https://github.com/mmontone/emacs-inspector/commit/d7c5e7cb292eb23e66de78ae12ede15323bd0531
> Thanks
> (I think there's also a copyright line that needs changing in
> inspector-test.el, tho).

I made those changes in subsequent commits.

So, the package is gonna be available from ELPA soon now?

Thanks!

Mariano





^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-26 15:36           ` Mariano Montone
@ 2022-05-26 16:07             ` Stefan Monnier
  2022-05-26 16:31               ` Mariano Montone
  2022-05-26 21:07               ` Mariano Montone
  0 siblings, 2 replies; 18+ messages in thread
From: Stefan Monnier @ 2022-05-26 16:07 UTC (permalink / raw)
  To: Mariano Montone; +Cc: emacs-devel

Mariano Montone [2022-05-26 12:36:41] wrote:
> El 26/5/22 a las 12:10, Stefan Monnier escribió:
>> Mariano Montone [2022-05-26 09:47:45] wrote:
>>> I've applied your changes:
>>> https://github.com/mmontone/emacs-inspector/commit/d7c5e7cb292eb23e66de78ae12ede15323bd0531
>> Thanks
>> (I think there's also a copyright line that needs changing in
>> inspector-test.el, tho).
>
> I made those changes in subsequent commits.
>
> So, the package is gonna be available from ELPA soon now?

It's been in `elpa.git` for a couple days now.  The build scripts have
failed so far because of the copyright lines but presumably they will
succeed next time around (will see in 12h or so).


        Stefan




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-26 16:07             ` Stefan Monnier
@ 2022-05-26 16:31               ` Mariano Montone
  2022-05-26 21:07               ` Mariano Montone
  1 sibling, 0 replies; 18+ messages in thread
From: Mariano Montone @ 2022-05-26 16:31 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

El 26/5/22 a las 13:07, Stefan Monnier escribió:
>> So, the package is gonna be available from ELPA soon now?
> It's been in `elpa.git` for a couple days now.  The build scripts have
> failed so far because of the copyright lines but presumably they will
> succeed next time around (will see in 12h or so).

Ohh. You have that automated. Very nice ..


[-- Attachment #2: Type: text/html, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-26 16:07             ` Stefan Monnier
  2022-05-26 16:31               ` Mariano Montone
@ 2022-05-26 21:07               ` Mariano Montone
  2022-05-27  1:14                 ` Stefan Monnier
  1 sibling, 1 reply; 18+ messages in thread
From: Mariano Montone @ 2022-05-26 21:07 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Hi Stefan,

El 26/5/22 a las 13:07, Stefan Monnier escribió:
> Mariano Montone [2022-05-26 12:36:41] wrote:
>> So, the package is gonna be available from ELPA soon now? 
> It's been in `elpa.git` for a couple days now.  The build scripts have
> failed so far because of the copyright lines but presumably they will
> succeed next time around (will see in 12h or so).
>
The package has just been released: 
https://elpa.gnu.org/packages/inspector.html

:)

I have a question: the package is automatically released each time I 
change  the "Version: XXX" in source file?


Cheers,


Mariano




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Integrate my package into Emacs
  2022-05-26 21:07               ` Mariano Montone
@ 2022-05-27  1:14                 ` Stefan Monnier
  0 siblings, 0 replies; 18+ messages in thread
From: Stefan Monnier @ 2022-05-27  1:14 UTC (permalink / raw)
  To: Mariano Montone; +Cc: emacs-devel

> I have a question: the package is automatically released each time I change 
> the "Version: XXX" in source file?

Yes,


        Stefan




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-05-27  1:14 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22 15:36 Integrate my package into Emacs Mariano Montone
2022-04-22 17:44 ` Eduardo Ochs
2022-04-22 17:57   ` Mariano Montone
2022-04-22 21:16     ` Mariano Montone
2022-04-25 16:40 ` Stefan Monnier
2022-04-25 17:14   ` Mariano Montone
2022-05-24 19:22   ` Mariano Montone
2022-05-24 22:59     ` Stefan Monnier
2022-05-24 23:11       ` Stefan Monnier
2022-05-24 23:16         ` Mariano Montone
2022-05-25  0:54           ` Stefan Monnier
2022-05-26 12:47       ` Mariano Montone
2022-05-26 15:10         ` Stefan Monnier
2022-05-26 15:36           ` Mariano Montone
2022-05-26 16:07             ` Stefan Monnier
2022-05-26 16:31               ` Mariano Montone
2022-05-26 21:07               ` Mariano Montone
2022-05-27  1:14                 ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).