all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [ELPA] New package: tchanges
@ 2024-09-22  0:04 James Thomas
  2024-09-22 17:28 ` Philip Kaludercic
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: James Thomas @ 2024-09-22  0:04 UTC (permalink / raw)
  To: emacs-devel

Hi,

I propose to include this package that I wrote, to GNU ELPA. It's for
collaborating with users of word-processing software, such as
Libreoffice Writer, using the latter's 'track changes' feature.

  https://codeberg.org/quotuva/tchanges

Here's a short screencast (.gif) demonstrating most of the features:

  https://codeberg.org/attachments/5096c13b-ff1f-47f6-8741-f3d955e34211

I'd previously mentioned this in the other mailing lists as well[1].

Regards,
James

1:
https://lists.gnu.org/archive/html/emacs-orgmode/2024-07/msg00009.html
https://lists.gnu.org/archive/html/help-gnu-emacs/2024-05/msg00167.html
(older repo URL)



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

* Re: [ELPA] New package: tchanges
  2024-09-22  0:04 [ELPA] New package: tchanges James Thomas
@ 2024-09-22 17:28 ` Philip Kaludercic
  2024-09-23  8:43   ` James Thomas
  2024-09-24  3:29 ` Richard Stallman
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 13+ messages in thread
From: Philip Kaludercic @ 2024-09-22 17:28 UTC (permalink / raw)
  To: James Thomas; +Cc: emacs-devel

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

James Thomas <jimjoe@gmx.net> writes:

> Hi,
>
> I propose to include this package that I wrote, to GNU ELPA. It's for
> collaborating with users of word-processing software, such as
> Libreoffice Writer, using the latter's 'track changes' feature.
>
>   https://codeberg.org/quotuva/tchanges

I haven't tested it, but here are a few quick comments:


[-- Attachment #2: Type: text/plain, Size: 7386 bytes --]

diff --git a/tchanges.el b/tchanges.el
index a3e6829..4bf6395 100644
--- a/tchanges.el
+++ b/tchanges.el
@@ -5,6 +5,7 @@
 ;; Author: James Thomas <jimjoe@gmx.net>
 ;; Maintainer: James Thomas <jimjoe@gmx.net>
 ;; Keywords: wp, convenience, files
+;; Package-Requires: ((emacs "30"))
 ;; URL: https://codeberg.org/quotuva/tchanges
 ;; Version: 0.1
 
@@ -26,19 +27,24 @@
 (require 'bookmark)
 
 (defgroup tchanges nil
-  "Collaborate with Office (docx) users using 'track changes'.")
+  "Collaborate with Office (docx) users using 'track changes'."
+  :group '???)                           ;this is missing!
 
 (defcustom tchanges-output-format
   "org"
-  "Default output format. See man page `pandoc(1)' for available options."
-  :type '(string)
-  :group 'tchanges)
+  "Default output format.
+See man page `pandoc(1)' for available options."
+  ;; By default, a user option is added to the last declared group, so
+  ;; you can omit it here!
+  :type 'string)                        ;Is this actually a string, or
+                                        ;a symbol?  Should you give a
+                                        ;list of suggestions?
 
 (defcustom tchanges-pandoc-extra-args
   nil
-  "Extra args passed to pandoc. Value is a list of strings, which may be nil."
-  :type '(repeat (string :tag "Argument"))
-  :group 'tchanges)
+  "Extra args passed to pandoc.
+Value is a list of strings, which may be nil."
+  :type '(repeat :tag "Arguments" string))
 
 (defvar tchanges-script
   (expand-file-name
@@ -51,12 +57,13 @@
 
 ;; Global value used during import, the local in the comment editor.
 (defvar tchanges-buffer nil)
+
 ;; Separate uses for the org buffer and the comment editor.
 (defvar-local tchanges-comments nil)
 
 (defun tchanges--sentinel (process event)
-  "Sentinel for pandoc process completion."
-  (if (not (string-match "finished" event))
+  "Sentinel for pandoc process completion." ;checkdoc would like some more documentation!
+  (if (not (string-match "finished" event)) ;(elisp) Sentinels says it should be "finished\n".  Or use `process-status'.
       (error "%s %s" process event)
     (message "tchanges: Running pandoc...done")
     (tchanges--postproc)))
@@ -71,17 +78,18 @@
   (setq tchanges-buffer nil))
 
 (defun tchanges--postproc-2 (tag)
+  ;; Documentation missing here!  Flymake + checkdoc should warn you about this.
   (let ((insdel-regexp "\x1e\\([id]\\)\x1e[^\x1e]*?\x1e[^\x1e]*?\x1e\\([^\x1e]*?\\)\x1f")
         (comments-regexp "\x1c[se][^\x1d]*?\x1d")
         (bookmark-make-record-function #'tchanges-bookmark-make-record)
         (bookmark-use-annotations nil)
         bookmark-alist
         (count 0))
-    (cl-letf (((symbol-function #'bookmark--set-fringe-mark)
-               (symbol-function #'ignore)))
+    (cl-letf (((symbol-function #'bookmark--set-fringe-mark) #'ignore))
       (goto-char (point-min))
       (while
           (re-search-forward
+           ;; I think that using `rx' would make this more readable and maintainable.
            "\x1cs\\([^\x1c]*?\\)\x1c\\([^\x1c]*?\\)\x1c\\([^\x1c]*?\\)\x1c\\([^\x1c\x1d]*?\\)\x1d"
            nil t)
         (let* ((beg (match-beginning 0))
@@ -142,13 +150,14 @@
 
 ;;;###autoload
 (defun tchanges-find-file (file &optional format)
+  ;; checkdoc warns you that the first sentence should fit on a line!
   "Convert a word processor document FILE with \\='tracked changes\\='
 to pre- and post- buffers. These may be `diff'ed or, more conveniently,
 `ediff3'd with the original version of the file before it was shared (as
 \\='ancestor\\='), inorder to hide (or nullify) common changes (the ones
 related to conversion).
 
-(For even more accuracy, you may \\='regenerate\\=' the above original
+\(For even more accuracy, you may \\='regenerate\\=' the above original
 version by a reverse conversion using the same Pandoc arguments
 immediately after the forward conversion)
 
@@ -180,10 +189,10 @@ Comment regions are highlighted with tooltips, but also see
 (defun tchanges-inline-comments ()
   "Prepare the buffer by inlining the comments, for export or saving."
   (interactive)
-  (if (or (not (bound-and-true-p tchanges-comments)))
+  (if (or (not (bound-and-true-p tchanges-comments))) ;isn't it always bound?
       (user-error "No comments in buffer.")
     (let ((bookmark-alist
-           (sort tchanges-comments
+           (sort tchanges-comments      ;the :lessp requires Emacs 30, but you could also call `sort' without keyword parameters
                  :lessp
                  (lambda (x y)
                    (> (bookmark-get-position x)
@@ -239,7 +248,7 @@ Comment regions are highlighted with tooltips, but also see
 Copied from the default function."
   (let* ((posn (or (and (use-region-p) (region-beginning))
                    (point)))
-         (len (when (use-region-p) (- (region-end) posn))))
+         (len (and (use-region-p) (- (region-end) posn)))) ;is it ok if this is nil?
     `((buffer . ,(current-buffer))
       (front-context-string
        . ,(if (>= (- (point-max) (point))
@@ -263,7 +272,7 @@ Copied from the default function."
       (handler . ,#'tchanges--bookmark-handler))))
 
 (defun tchanges-edit-annotation-confirm ()
-  "TODO"
+  "TODO"                                ;TODO
   (interactive)
   (let* ((buf tchanges-buffer)
          (newp (string-prefix-p "g" bookmark-annotation-name))
@@ -318,16 +327,15 @@ Copied from the default function."
         (bookmark-use-annotations t)
         bookmark-alist
         (buf (current-buffer)))
-    (cl-letf (((symbol-function #'bookmark--set-fringe-mark)
-               (symbol-function #'ignore)))
+    (cl-letf (((symbol-function #'bookmark--set-fringe-mark) #'ignore))
       (bookmark-set (symbol-name (gensym)) t))
     ;; Single bookmark
     (setq-local tchanges-buffer buf)
     (setq tchanges-comments bookmark-alist)
     (tchanges--remap '(bookmark-edit-annotation-confirm))))
 
-(defun tchanges-bmenu--revert ()
-  "Re-populate `tabulated-list-entries'. (Copied from the bookmark-...)"
+(defun tchanges-bmenu--revert ()        ;Copied from the bookmark-...
+  "Re-populate `tabulated-list-entries'."
   (setq tabulated-list-entries nil)
   (dolist (full-record bookmark-alist)
     (let* ((name       (bookmark-name-from-full-record full-record))
@@ -354,8 +362,9 @@ Copied from the default function."
   (tabulated-list-print t))
 
 (defun tchanges-list-comments ()
-  "View buffer with all the comments. May be run in the buffer, after using
-`tchanges-comment'. If point is at a comment, jump to it in the listing."
+  "View buffer with all the comments.
+May be run in the buffer, after using `tchanges-comment'.  If point is at
+a comment, jump to it in the listing."
   (interactive)
   (let ((id (get-char-property (point) 'tchanges-comment))
         (buf (current-buffer))
@@ -402,9 +411,9 @@ Copied from the default function."
                               tchanges-buffer))
          bookmark-watch-bookmark-file)
     (cl-letf (((symbol-function #'bookmark--remove-fringe-mark)
-               (symbol-function #'tchanges--remove-highlight))
+               #'tchanges--remove-highlight)
               ((symbol-function #'bookmark-bmenu-list)
-               (symbol-function #'tchanges-bmenu--revert)))
+               #'tchanges-bmenu--revert))
       (bookmark-bmenu-execute-deletions))
     (with-current-buffer tchanges-buffer
       (setq tchanges-comments bookmark-alist))))

[-- Attachment #3: Type: text/plain, Size: 709 bytes --]



>
> Here's a short screencast (.gif) demonstrating most of the features:
>
>   https://codeberg.org/attachments/5096c13b-ff1f-47f6-8741-f3d955e34211

I am afraid this demonstration is not that useful if you don't already
understand what is going on.  If you believe a visual introduction to be
useful, I would recommend preparing a recorded version with narration
and uploading it to a Peertube server.

> I'd previously mentioned this in the other mailing lists as well[1].
>
> Regards,
> James
>
> 1:
> https://lists.gnu.org/archive/html/emacs-orgmode/2024-07/msg00009.html
> https://lists.gnu.org/archive/html/help-gnu-emacs/2024-05/msg00167.html
> (older repo URL)
>
>

-- 
	Philip Kaludercic on siskin

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

* Re: [ELPA] New package: tchanges
  2024-09-22 17:28 ` Philip Kaludercic
@ 2024-09-23  8:43   ` James Thomas
  0 siblings, 0 replies; 13+ messages in thread
From: James Thomas @ 2024-09-23  8:43 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: emacs-devel

Hi,

I've made all the changes except for the few ones noted below:

Philip Kaludercic wrote:

> James Thomas <jimjoe@gmx.net> writes:
>
>> Hi,
>>
>> I propose to include this package that I wrote, to GNU ELPA. It's for
>> collaborating with users of word-processing software, such as
>> Libreoffice Writer, using the latter's 'track changes' feature.
>>
>>   https://codeberg.org/quotuva/tchanges
>
> I haven't tested it, but here are a few quick comments:
>
> diff --git a/tchanges.el b/tchanges.el
> index a3e6829..4bf6395 100644
> --- a/tchanges.el
> +++ b/tchanges.el
> @@ -5,6 +5,7 @@
>  ;; Author: James Thomas <jimjoe@gmx.net>
>  ;; Maintainer: James Thomas <jimjoe@gmx.net>
>  ;; Keywords: wp, convenience, files
> +;; Package-Requires: ((emacs "30"))

Passed over in favour of removing the 'lessp' (below) as you suggested.

>  ;; URL: https://codeberg.org/quotuva/tchanges
>  ;; Version: 0.1
>
> @@ -26,19 +27,24 @@
>  (require 'bookmark)
>
>  (defgroup tchanges nil
> -  "Collaborate with Office (docx) users using 'track changes'.")
> +  "Collaborate with Office (docx) users using 'track changes'."
> +  :group '???)                           ;this is missing!
>
>  (defcustom tchanges-output-format
>    "org"
> -  "Default output format. See man page `pandoc(1)' for available options."
> -  :type '(string)
> -  :group 'tchanges)
> +  "Default output format.
> +See man page `pandoc(1)' for available options."
> +  ;; By default, a user option is added to the last declared group, so
> +  ;; you can omit it here!
> +  :type 'string)                        ;Is this actually a string, or
> +                                        ;a symbol?  Should you give a
> +                                        ;list of suggestions?

Logically, no: because Pandoc's format code-names need not correspond to
any Emacs major mode symbols, if any, for those formats. The only
benefit to symbols I see is validation, but Pandoc could add new ones.

>
>  (defcustom tchanges-pandoc-extra-args
>    nil
> -  "Extra args passed to pandoc. Value is a list of strings, which may be nil."
> -  :type '(repeat (string :tag "Argument"))
> -  :group 'tchanges)
> +  "Extra args passed to pandoc.
> +Value is a list of strings, which may be nil."
> +  :type '(repeat :tag "Arguments" string))
>
>  (defvar tchanges-script
>    (expand-file-name
> @@ -51,12 +57,13 @@
>
>  ;; Global value used during import, the local in the comment editor.
>  (defvar tchanges-buffer nil)
> +
>  ;; Separate uses for the org buffer and the comment editor.
>  (defvar-local tchanges-comments nil)
>
>  (defun tchanges--sentinel (process event)
> -  "Sentinel for pandoc process completion."
> -  (if (not (string-match "finished" event))
> +  "Sentinel for pandoc process completion." ;checkdoc would like some more documentation!
> +  (if (not (string-match "finished" event)) ;(elisp) Sentinels says it should be "finished\n".  Or use `process-status'.
>        (error "%s %s" process event)
>      (message "tchanges: Running pandoc...done")
>      (tchanges--postproc)))
> @@ -71,17 +78,18 @@
>    (setq tchanges-buffer nil))
>
>  (defun tchanges--postproc-2 (tag)
> +  ;; Documentation missing here!  Flymake + checkdoc should warn you about this.
>    (let ((insdel-regexp ".\\([id]\\).[^.]*?.[^.]*?.\\([^.]*?\\)\x1f")
>          (comments-regexp ".[se][^.]*?.")
>          (bookmark-make-record-function #'tchanges-bookmark-make-record)
>          (bookmark-use-annotations nil)
>          bookmark-alist
>          (count 0))
> -    (cl-letf (((symbol-function #'bookmark--set-fringe-mark)
> -               (symbol-function #'ignore)))
> +    (cl-letf (((symbol-function #'bookmark--set-fringe-mark) #'ignore))
>        (goto-char (point-min))
>        (while
>            (re-search-forward
> +           ;; I think that using `rx' would make this more readable and maintainable.
>             ".s\\([^.]*?\\).\\([^.]*?\\).\\([^.]*?\\).\\([^.\x1d]*?\\)."

Me too; but it could wait, right? I was being conservative.

>             nil t)
>          (let* ((beg (match-beginning 0))
> @@ -142,13 +150,14 @@
>
>  ;;;###autoload
>  (defun tchanges-find-file (file &optional format)
> +  ;; checkdoc warns you that the first sentence should fit on a line!
>    "Convert a word processor document FILE with \\='tracked changes\\='
>  to pre- and post- buffers. These may be `diff'ed or, more conveniently,
>  `ediff3'd with the original version of the file before it was shared (as
>  \\='ancestor\\='), inorder to hide (or nullify) common changes (the ones
>  related to conversion).
>
> -(For even more accuracy, you may \\='regenerate\\=' the above original
> +\(For even more accuracy, you may \\='regenerate\\=' the above original
>  version by a reverse conversion using the same Pandoc arguments
>  immediately after the forward conversion)
>
> @@ -180,10 +189,10 @@ Comment regions are highlighted with tooltips, but also see
>  (defun tchanges-inline-comments ()
>    "Prepare the buffer by inlining the comments, for export or saving."
>    (interactive)
> -  (if (or (not (bound-and-true-p tchanges-comments)))
> +  (if (or (not (bound-and-true-p tchanges-comments))) ;isn't it
> always bound?
>        (user-error "No comments in buffer.")
>      (let ((bookmark-alist
> -           (sort tchanges-comments
> +           (sort tchanges-comments      ;the :lessp requires Emacs 30, but you could also call `sort' without keyword parameters
>                   :lessp
>                   (lambda (x y)
>                     (> (bookmark-get-position x)
> @@ -239,7 +248,7 @@ Comment regions are highlighted with tooltips, but also see
>  Copied from the default function."
>    (let* ((posn (or (and (use-region-p) (region-beginning))
>                     (point)))
> -         (len (when (use-region-p) (- (region-end) posn))))
> +         (len (and (use-region-p) (- (region-end) posn)))) ;is it ok if this is nil?

Yes, but it also needed some other changes to handle zero-width
comments, which I've now made.

>      `((buffer . ,(current-buffer))
>        (front-context-string
>         . ,(if (>= (- (point-max) (point))
> @@ -263,7 +272,7 @@ Copied from the default function."
>        (handler . ,#'tchanges--bookmark-handler))))
>
>  (defun tchanges-edit-annotation-confirm ()
> -  "TODO"
> +  "TODO"                                ;TODO
>    (interactive)
>    (let* ((buf tchanges-buffer)
>           (newp (string-prefix-p "g" bookmark-annotation-name))
> @@ -318,16 +327,15 @@ Copied from the default function."
>          (bookmark-use-annotations t)
>          bookmark-alist
>          (buf (current-buffer)))
> -    (cl-letf (((symbol-function #'bookmark--set-fringe-mark)
> -               (symbol-function #'ignore)))
> +    (cl-letf (((symbol-function #'bookmark--set-fringe-mark) #'ignore))
>        (bookmark-set (symbol-name (gensym)) t))
>      ;; Single bookmark
>      (setq-local tchanges-buffer buf)
>      (setq tchanges-comments bookmark-alist)
>      (tchanges--remap '(bookmark-edit-annotation-confirm))))
>
> -(defun tchanges-bmenu--revert ()
> -  "Re-populate `tabulated-list-entries'. (Copied from the bookmark-...)"
> +(defun tchanges-bmenu--revert ()        ;Copied from the bookmark-...
> +  "Re-populate `tabulated-list-entries'."
>    (setq tabulated-list-entries nil)
>    (dolist (full-record bookmark-alist)
>      (let* ((name       (bookmark-name-from-full-record full-record))
> @@ -354,8 +362,9 @@ Copied from the default function."
>    (tabulated-list-print t))
>
>  (defun tchanges-list-comments ()
> -  "View buffer with all the comments. May be run in the buffer, after using
> -`tchanges-comment'. If point is at a comment, jump to it in the listing."
> +  "View buffer with all the comments.
> +May be run in the buffer, after using `tchanges-comment'.  If point is at
> +a comment, jump to it in the listing."
>    (interactive)
>    (let ((id (get-char-property (point) 'tchanges-comment))
>          (buf (current-buffer))
> @@ -402,9 +411,9 @@ Copied from the default function."
>                                tchanges-buffer))
>           bookmark-watch-bookmark-file)
>      (cl-letf (((symbol-function #'bookmark--remove-fringe-mark)
> -               (symbol-function #'tchanges--remove-highlight))
> +               #'tchanges--remove-highlight)
>                ((symbol-function #'bookmark-bmenu-list)
> -               (symbol-function #'tchanges-bmenu--revert)))
> +               #'tchanges-bmenu--revert))
>        (bookmark-bmenu-execute-deletions))
>      (with-current-buffer tchanges-buffer
>        (setq tchanges-comments bookmark-alist))))
>
>
>
>>
>> Here's a short screencast (.gif) demonstrating most of the features:
>>
>>   https://codeberg.org/attachments/5096c13b-ff1f-47f6-8741-f3d955e34211
>
> I am afraid this demonstration is not that useful if you don't already
> understand what is going on.  If you believe a visual introduction to be
> useful, I would recommend preparing a recorded version with narration
> and uploading it to a Peertube server.

Is this better? I've improved it by referring to the README as a guide:

  https://codeberg.org/attachments/d9ce4f60-0acc-4316-ae45-dab6d59adc1e

Regards,
James




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

* Re: [ELPA] New package: tchanges
  2024-09-22  0:04 [ELPA] New package: tchanges James Thomas
  2024-09-22 17:28 ` Philip Kaludercic
@ 2024-09-24  3:29 ` Richard Stallman
       [not found] ` <E1sswFJ-0001CC-5b@fencepost.gnu.org>
  2024-09-30  7:03 ` Stefan Kangas
  3 siblings, 0 replies; 13+ messages in thread
From: Richard Stallman @ 2024-09-24  3:29 UTC (permalink / raw)
  To: James Thomas; +Cc: emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Does this package require use of Org mode?
It is better to keep the two independent
so that a user can use either one, or both, as perse wishes.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





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

* Re: [ELPA] New package: tchanges, Re: [ELPA] New package: tchanges
       [not found] ` <E1sswFJ-0001CC-5b@fencepost.gnu.org>
@ 2024-09-24  6:40   ` James Thomas
  2024-09-26  8:33     ` James Thomas
  0 siblings, 1 reply; 13+ messages in thread
From: James Thomas @ 2024-09-24  6:40 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

Hi,

Richard Stallman wrote:

>   > Here's a short screencast (.gif) demonstrating most of the
>   > features:
>
>   >   https://codeberg.org/attachments/5096c13b-ff1f-47f6-8741-f3d955e34211
>
> This looks intersting, so I looked at that gif.
> But I could not follow what was going on. The text in the gif is too
> small for me to read, and I did not know what inputs were were causing
> the output.

Touche. I'd made an improved version based on Philip's feedback:

  https://codeberg.org/attachments/d9ce4f60-0acc-4316-ae45-dab6d59adc1e

..which follows the README in a larger font. The buffer text is still
the same size, but that might be enough as a vague demonstration.

> Can you please write a descriptiom? of the feature?
> We will need that description anyway to add this to Emacs, so you may
> as well write it now.

Do you mean something in addition to what's already in the README[1]?

> Does this package require use of Org mode?

The intention was not to require it: any format supported by Pandoc that
Emacs can also read will do. But the code for including the _comments_
during reconversion back to Libreoffice ODT is only available for Org,
as it uses the Org exporter. Pandoc does not support that (yet), but it
shouldn't be hard to plug this into that or any such program in future.

> It is better to keep the two independent so that a user can use either
> one, or both, as perse wishes.

Amen.

Regards,
James

1: https://codeberg.org/quotuva/tchanges/raw/branch/main/README.org



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

* Re: [ELPA] New package: tchanges, Re: [ELPA] New package: tchanges
  2024-09-24  6:40   ` [ELPA] New package: tchanges, " James Thomas
@ 2024-09-26  8:33     ` James Thomas
  2024-09-28  3:10       ` Richard Stallman
  0 siblings, 1 reply; 13+ messages in thread
From: James Thomas @ 2024-09-26  8:33 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

James Thomas wrote:

> Hi,
>
> Richard Stallman wrote:
>
>>   > Here's a short screencast (.gif) demonstrating most of the
>>   > features:
>>
>>   >   https://codeberg.org/attachments/5096c13b-ff1f-47f6-8741-f3d955e34211
>>
>> This looks intersting, so I looked at that gif.
>> But I could not follow what was going on. The text in the gif is too
>> small for me to read, and I did not know what inputs were were
>> causing
>> the output.
>
> Touche. I'd made an improved version based on Philip's feedback:

This is a remake in a large font size. Things should be clear now.

https://codeberg.org/attachments/33a7c124-76c9-4f76-bc30-1385165c6362

Regards,
James



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

* Re: [ELPA] New package: tchanges, Re: [ELPA] New package: tchanges
  2024-09-26  8:33     ` James Thomas
@ 2024-09-28  3:10       ` Richard Stallman
  2024-09-28 12:44         ` James Thomas
  0 siblings, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2024-09-28  3:10 UTC (permalink / raw)
  To: James Thomas; +Cc: emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > This is a remake in a large font size. Things should be clear now.

  > https://codeberg.org/attachments/33a7c124-76c9-4f76-bc30-1385165c6362

The text is now readable -- thanks.  But I still have no idea what is
going on, because I see only the output.  The output responds to your
commands, I think, but I have no idea what those commands are.

I think you are giving commands, perhaps on the keybowrd, but I have
no idea what commands.  Also, the output seems to display a lot of
data, and I guess that your commands are operating on that data.  But
I don't know what the data means.

It is not feasible to figure out all those things that are not stated.

Are the inputs being shown by a method I have not twigged to?

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





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

* Re: [ELPA] New package: tchanges
  2024-09-28  3:10       ` Richard Stallman
@ 2024-09-28 12:44         ` James Thomas
  2024-09-30  0:30           ` James Thomas
  0 siblings, 1 reply; 13+ messages in thread
From: James Thomas @ 2024-09-28 12:44 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

Richard Stallman wrote:

> The text is now readable -- thanks. But I still have no idea what is
> going on, because I see only the output. The output responds to your
> commands, I think, but I have no idea what those commands are.
>
> I think you are giving commands, perhaps on the keybowrd, but I have
> no idea what commands. Also, the output seems to display a lot of
> data, and I guess that your commands are operating on that data. But
> I don't know what the data means.
>
> It is not feasible to figure out all those things that are not stated.
>
> Are the inputs being shown by a method I have not twigged to?

I see now that problem is icomplete (it's too damn convenient!). How
about this:

https://codeberg.org/attachments/baf81015-4fae-4268-93ea-46ff502125c7

Regards,
James



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

* Re: [ELPA] New package: tchanges
  2024-09-28 12:44         ` James Thomas
@ 2024-09-30  0:30           ` James Thomas
  2024-09-30  2:19             ` Emanuel Berg
  0 siblings, 1 reply; 13+ messages in thread
From: James Thomas @ 2024-09-30  0:30 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

James Thomas wrote:

> I see now that problem is icomplete (it's too damn convenient!). How
> about this:
>
> https://codeberg.org/attachments/baf81015-4fae-4268-93ea-46ff502125c7

FYI: I also have an upload showing a sample collaboration 'workflow':

https://codeberg.org/attachments/d4acb6bb-37c3-4943-835f-b91d108b9c66

(It's better to step through it frame-by-frame in Emacs's image viewer)

Regards,
James



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

* Re: [ELPA] New package: tchanges
  2024-09-30  0:30           ` James Thomas
@ 2024-09-30  2:19             ` Emanuel Berg
  2024-09-30 23:58               ` James Thomas
  0 siblings, 1 reply; 13+ messages in thread
From: Emanuel Berg @ 2024-09-30  2:19 UTC (permalink / raw)
  To: emacs-devel

James Thomas wrote:

>> https://codeberg.org/attachments/baf81015-4fae-4268-93ea-46ff502125c7
>
> FYI: I also have an upload showing a sample collaboration 'workflow':
>
> https://codeberg.org/attachments/d4acb6bb-37c3-4943-835f-b91d108b9c66

1.2M gif - looks like Emacs and Word or something?

Are you looking for the best of both worlds? :)

-- 
underground experts united
https://dataswamp.org/~incal




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

* Re: [ELPA] New package: tchanges
  2024-09-22  0:04 [ELPA] New package: tchanges James Thomas
                   ` (2 preceding siblings ...)
       [not found] ` <E1sswFJ-0001CC-5b@fencepost.gnu.org>
@ 2024-09-30  7:03 ` Stefan Kangas
  2024-09-30  9:48   ` James Thomas
  3 siblings, 1 reply; 13+ messages in thread
From: Stefan Kangas @ 2024-09-30  7:03 UTC (permalink / raw)
  To: James Thomas, emacs-devel

James Thomas <jimjoe@gmx.net> writes:

> I propose to include this package that I wrote, to GNU ELPA. It's for
> collaborating with users of word-processing software, such as
> Libreoffice Writer, using the latter's 'track changes' feature.
>
>   https://codeberg.org/quotuva/tchanges
>
> Here's a short screencast (.gif) demonstrating most of the features:
>
>   https://codeberg.org/attachments/5096c13b-ff1f-47f6-8741-f3d955e34211
>
> I'd previously mentioned this in the other mailing lists as well[1].

This is a _great_ feature.  I've looked exactly for something like this
many times in the past.

My main use case has been predicated on having a path odt->emacs->odt,
while being able to both accept/reject suggestions, as well as adding
new ones.

Thanks again for working on this.



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

* Re: [ELPA] New package: tchanges
  2024-09-30  7:03 ` Stefan Kangas
@ 2024-09-30  9:48   ` James Thomas
  0 siblings, 0 replies; 13+ messages in thread
From: James Thomas @ 2024-09-30  9:48 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: emacs-devel

Stefan Kangas wrote:

> James Thomas <jimjoe@gmx.net> writes:
>
>> I propose to include this package that I wrote, to GNU ELPA. It's
>> for
>> collaborating with users of word-processing software, such as
>> Libreoffice Writer, using the latter's 'track changes' feature.
>>
>>   https://codeberg.org/quotuva/tchanges
>>
>> Here's a short screencast (.gif) demonstrating most of the features:
>>
>>   https://codeberg.org/attachments/5096c13b-ff1f-47f6-8741-f3d955e34211
>>
>> I'd previously mentioned this in the other mailing lists as well[1].
>
> This is a _great_ feature. I've looked exactly for something like this
> many times in the past.
>
> My main use case has been predicated on having a path odt->emacs->odt,
> while being able to both accept/reject suggestions, as well as adding
> new ones.
>
> Thanks again for working on this.

Thank you for the kind words! Please do report any bugs you may find:
I'm looking to stabilize the 'core' before adding more frills.

Regards,
James



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

* Re: [ELPA] New package: tchanges
  2024-09-30  2:19             ` Emanuel Berg
@ 2024-09-30 23:58               ` James Thomas
  0 siblings, 0 replies; 13+ messages in thread
From: James Thomas @ 2024-09-30 23:58 UTC (permalink / raw)
  To: emacs-devel

Emanuel Berg wrote:

> James Thomas wrote:
>
>>> https://codeberg.org/attachments/baf81015-4fae-4268-93ea-46ff502125c7
>>
>> FYI: I also have an upload showing a sample collaboration 'workflow':
>>
>> https://codeberg.org/attachments/d4acb6bb-37c3-4943-835f-b91d108b9c66
>
> 1.2M gif - looks like Emacs and Word or something?
>
> Are you looking for the best of both worlds? :)

More to 'go to the world', and 'make it go round'. :-)

--



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

end of thread, other threads:[~2024-09-30 23:58 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-22  0:04 [ELPA] New package: tchanges James Thomas
2024-09-22 17:28 ` Philip Kaludercic
2024-09-23  8:43   ` James Thomas
2024-09-24  3:29 ` Richard Stallman
     [not found] ` <E1sswFJ-0001CC-5b@fencepost.gnu.org>
2024-09-24  6:40   ` [ELPA] New package: tchanges, " James Thomas
2024-09-26  8:33     ` James Thomas
2024-09-28  3:10       ` Richard Stallman
2024-09-28 12:44         ` James Thomas
2024-09-30  0:30           ` James Thomas
2024-09-30  2:19             ` Emanuel Berg
2024-09-30 23:58               ` James Thomas
2024-09-30  7:03 ` Stefan Kangas
2024-09-30  9:48   ` James Thomas

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.