Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]

2021-12-07 Thread Ihor Radchenko
Colin Baxter 😺  writes:

> If you get no response on this org-mode list, perhaps re-submit it as a
> normal emacs bug (M-x report-emacs-bug ).

That's not a good idea. org-mode related staff is just forwarded back to
this list (but not even always).

Just wait a bit until someone get free time to look into your report.

Best,
Ihor



Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]

2021-12-07 Thread Colin Baxter 😺
Hello Michael,

> Michael Eliachevitch  writes:

> Hello Colin,
>> This is amazing. I have run into exactly the same problem. I was
>> wondering whether to report it!
>> 
>> Oh, and I can reproduce the bug with your ECM.

> Glad that I'm not alone. When you say you ran into this, is this
> something that appeared to you in a recent org-version for
> existing capture templates which worked in older versions? Or is
> this a behavior that has been always there for capture-templates
> with :clock-in?

A couple of night ago, I thought I'd try experimenting with my
org-capture setup. I normally have a menu with single letter choices and
no hierarchy. I wrote a couple of lines, very similar to yours, but
couldn't get it to work. I thought it simply indicative of my ignorance
of lisp (which is profound!) and abandoned the experiment. I use org-mode
version 9.5.1 and I got the same results with emacs-28.0.90, 29.0.50 and
(I think) 27.2.

> When I have time I might try if I can hack something to fix this,
> but not sure if I have time as I'm quite busy with my PhD
> currently. Btw, I'm not sure what the procedure following the bug
> report will be, as I'm quite new here on the mailing list and am
> still more used to working with github-issues etc, but I guess
> patience is key in an open source project.

If you get no response on this org-mode list, perhaps re-submit it as a
normal emacs bug (M-x report-emacs-bug ).

Best wishes,

Colin.


signature.asc
Description: PGP signature


bug#52341: Fwd: 29.0.50; org-priority 'SPC to remove' doesn't work

2021-12-07 Thread Kyle Meyer
Robert Pluim writes:

>> On Mon, 06 Dec 2021 20:48:46 -0500, Kyle Meyer  said:
> Kyle> Right, this stems from org-priority feeding " " to string-to-number 
> and
> Kyle> ending up with 0 instead of the ?\s (32) that's used downstream to
> Kyle> signal "remove".  The problem goes back to when support for numeric
> Kyle> priorities was added in Org v9.4's 4f98694bf (Allow numeric values 
> for
> Kyle> priorities, 2020-01-30).
>
> Kyle> I suppose one solution would be to check for " " and translate that 
> to
> Kyle> the ?\s so that the remove is triggered.  I'll plan to apply the 
> change
> Kyle> below to Org's bugfix branch in a day or two unless the author of 
> the
> Kyle> above commit (+cc) or someone else has another suggestion.
>
> That fixes part of the issue, but still when using numeric priorities,
> removal will be 'SPC RET' rather than 'SPC'.

If someone 1) uses numeric priorities and 2) has org-priority-lowest
above 9, read-string is used to prompt with "Priority M-N, SPC to
remove: ".  They need to use 'SPC RET' just as they need to use, say, '3
RET'.  That is, it's consistent with the prompt behavior for entering
the actual priorities.

Perhaps that should change in some way (though I'm not planning on
working on it myself), but in my view that behavior shouldn't be
conflated with SPC not being translated to "remove the priority".





Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]

2021-12-07 Thread Michael Eliachevitch

Hello Colin,


This is amazing. I have run into exactly the same problem. I was
wondering whether to report it!

Oh, and I can reproduce the bug with your ECM.


Glad that I'm not alone. When you say you ran into this, is this 
something that appeared to you in a recent org-version for 
existing capture templates which worked in older versions? Or is 
this a behavior that has been always there for capture-templates 
with :clock-in?


When I have time I might try if I can hack something to fix this, 
but not sure if I have time as I'm quite busy with my PhD 
currently. Btw, I'm not sure what the procedure following the bug 
report will be, as I'm quite new here on the mailing list and am 
still more used to working with github-issues etc, but I guess 
patience is key in an open source project.


Cheers, Michael


signature.asc
Description: PGP signature


[BUG] `org-fill-paragraph' doesn't respect formatting

2021-12-07 Thread Tor Kringeland
Applying `org-fill-paragraph' to /e.g./

  /Some text./  Some more text.

when `sentence-end-double-space' is t removes the double space to a
single space.  The same happens with other formatting like *bold* and
_underline_.  In other instances it is more context aware.  /E.g./
applying it to

  (Some text.)  Some more text.

does nothing, which is correct.



Re: From macros to elisp programming?

2021-12-07 Thread Eduardo Ochs
Hi Ypo!

You may find this useful too. I often use it when I want to put
editing commands in my functions and I'm in a hurry and not in a mood
to find their names - so for example I use (eek "C-l") instead of
(recenter-top-bottom), or (eek " C-a C-SPC  M-w C-y") to
duplicate the line above the point...

  Cheers & happy hacking =),
E.
http://angg.twu.net/#eev


;; See:
;; http://angg.twu.net/eev-intros/find-eev-quick-intro.html#3
;; (find-eev-quick-intro "3. Elisp hyperlinks")
;;
(defun eek (str)
  "Execute STR as a keyboard macro. See `edmacro-mode' for the exact format.\n
An example: (eek \"C-x 4 C-h\")"
  (interactive "sKeys: ")
  (execute-kbd-macro (read-kbd-macro str)))

On Tue, 7 Dec 2021 at 09:55, Ypo  wrote:
>
> Obrigado, Eduardo!
>
> I didn't know that command: "setq last-kbd-macro" and probably it will be 
> useful with elmacro too.
>
> (outline-next-visible-heading) ;; C-c C-n
>
> I save your instructions to my notes to use them :-)
>
> Saúde!
>
>
> El 07/12/2021 a las 3:11, Eduardo Ochs escribió:
>
> On Mon, 6 Dec 2021 at 10:43, Ypo  wrote:
>
> Hi
>
> I am able to make macros, but I think I am far away from Lisp programming.
>
> Is there a path to go from macros to elisp programming? For example, the last 
> macro I've made is for transforming the name of some headlines, adding in 
> front of them a part from the previous headline. This is the elisp code of 
> the macro:
>
> #+BEGIN_SRC
> (fset 'SanzTema5
>(kmacro-lambda-form [?\C-a ?\M-f ?\M-b ?\C-  ?\M-f ?\M-f ?\M-f ?\M-f ?\M-f 
> ?\M-f ?\M-f ?\M-f ?\M-f ?\M-w ?\C-c ?\C-n ?\C-a ?\M-f ?\M-b ?\C-y ?  ?- ?  
> ?\C-e ?\M-b ?\M-f ?\"] 0 "%d"))
> #+END_SRC
>
>
> Using that code, from these headlines:
>
> *** Sanz Aparicio et al. (2019) "5 Los Motivos Adquiridos, Menéndez Balaña" 
> (pp. 95-118)
>  INTRODUCCIÓN
>
> I get modified the second headline:
>
> *** Sanz Aparicio et al. (2019) "5 Los Motivos Adquiridos, Menéndez Balaña" 
> (pp. 95-118)
>  Sanz Aparicio et al. (2019) "5 Los Motivos Adquiridos - INTRODUCCIÓN"
>
>
> Are macros near to elisp programming or they are two different worlds?
>
> Ypo
>
> Hi Ypo,
>
> here's a suggestion. If you run this
>
>   (setq last-kbd-macro [?\C-a ?\M-f ?\M-b ?\C- ?\M-f ?\M-f ?\M-f ?\M-f
> ?\M-f ?\M-f ?\M-f ?\M-f ?\M-f ?\M-w ?\C-c ?\C-n ?\C-a ?\M-f ?\M-b
> ?\C-y ? ?- ? ?\C-e ?\M-b ?\M-f ?\"])
>
> and then type `C-x C-k C-e' (`kmacro-edit-macro-repeat') you will get
> a temporary buffer that contains this:
>
> C-a ;; move-beginning-of-line
> M-f ;; forward-word
> M-b ;; backward-word
> C-SPC   ;; set-mark-command
> 9*M-f   ;; forward-word
> M-w ;; kill-ring-save
> C-c C-n
> C-a ;; move-beginning-of-line
> M-f ;; forward-word
> M-b ;; backward-word
> C-y ;; yank
> SPC ;; self-insert-command
> -   ;; self-insert-command
> SPC ;; self-insert-command
> C-e ;; move-end-of-line
> M-b ;; backward-word
> M-f ;; forward-word
> "   ;; self-insert-command
>
> If you convert that by hand - suggestion: use keyboard macros for
> that! =) - to a defun like this one,
>
>   (defun SanzTema5 ()
> (interactive)
> (move-beginning-of-line)   ; C-a
> (forward-word) ; M-f
> (backward-word); M-b
> (set-mark-command) ; C-SPC
> (dotimes 9 (forward-word)) ; 9*M-f
> ;; ^ or: (forward-word 9)
> (kill-ring-save)   ; M-w
> ;; What here? I don' have a:   ; C-c C-n
> (move-beginning-of-line)   ; C-a
> (forward-word) ; M-f
> (backward-word); M-b
> (yank) ; C-y
> (insert " - ") ; SPC - SPC
> (move-end-of-line) ; C-e
> (backward-word); M-b
> (forward-word) ; M-f
> (insert "\"")  ; "
> )
>
> Then you will get a defun that does something that is clearly useful
> to you... you can start by creating and debugging a handful of defuns
> like that one and then learn what most people consider as "real
> Elisp"...
>
>   Cheers =),
> Eduardo Ochs
> http://angg.twu.net/#eev



Re: From macros to elisp programming?

2021-12-07 Thread Ypo

Obrigado, Eduardo!

I didn't know that command: "setq last-kbd-macro" and probably it will 
be useful with elmacro too.


(outline-next-visible-heading) ;; C-c C-n

I save your instructions to my notes to use them :-)

Saúde!


El 07/12/2021 a las 3:11, Eduardo Ochs escribió:

On Mon, 6 Dec 2021 at 10:43, Ypo  wrote:

Hi

I am able to make macros, but I think I am far away from Lisp programming.

Is there a path to go from macros to elisp programming? For example, the last 
macro I've made is for transforming the name of some headlines, adding in front 
of them a part from the previous headline. This is the elisp code of the macro:

#+BEGIN_SRC
(fset 'SanzTema5
(kmacro-lambda-form [?\C-a ?\M-f ?\M-b ?\C-  ?\M-f ?\M-f ?\M-f ?\M-f ?\M-f ?\M-f ?\M-f 
?\M-f ?\M-f ?\M-w ?\C-c ?\C-n ?\C-a ?\M-f ?\M-b ?\C-y ?  ?- ?  ?\C-e ?\M-b ?\M-f ?\"] 0 
"%d"))
#+END_SRC


Using that code, from these headlines:

*** Sanz Aparicio et al. (2019) "5 Los Motivos Adquiridos, Menéndez Balaña" 
(pp. 95-118)
 INTRODUCCIÓN

I get modified the second headline:

*** Sanz Aparicio et al. (2019) "5 Los Motivos Adquiridos, Menéndez Balaña" 
(pp. 95-118)
 Sanz Aparicio et al. (2019) "5 Los Motivos Adquiridos - INTRODUCCIÓN"


Are macros near to elisp programming or they are two different worlds?

Ypo


Hi Ypo,

here's a suggestion. If you run this

   (setq last-kbd-macro [?\C-a ?\M-f ?\M-b ?\C- ?\M-f ?\M-f ?\M-f ?\M-f
 ?\M-f ?\M-f ?\M-f ?\M-f ?\M-f ?\M-w ?\C-c ?\C-n ?\C-a ?\M-f ?\M-b
 ?\C-y ? ?- ? ?\C-e ?\M-b ?\M-f ?\"])

and then type `C-x C-k C-e' (`kmacro-edit-macro-repeat') you will get
a temporary buffer that contains this:

 C-a ;; move-beginning-of-line
 M-f ;; forward-word
 M-b ;; backward-word
 C-SPC   ;; set-mark-command
 9*M-f   ;; forward-word
 M-w ;; kill-ring-save
 C-c C-n
 C-a ;; move-beginning-of-line
 M-f ;; forward-word
 M-b ;; backward-word
 C-y ;; yank
 SPC ;; self-insert-command
 -   ;; self-insert-command
 SPC ;; self-insert-command
 C-e ;; move-end-of-line
 M-b ;; backward-word
 M-f ;; forward-word
 "   ;; self-insert-command

If you convert that by hand - suggestion: use keyboard macros for
that! =) - to a defun like this one,

   (defun SanzTema5 ()
 (interactive)
 (move-beginning-of-line)   ; C-a
 (forward-word) ; M-f
 (backward-word); M-b
 (set-mark-command) ; C-SPC
 (dotimes 9 (forward-word)) ; 9*M-f
 ;; ^ or: (forward-word 9)
 (kill-ring-save)   ; M-w
 ;; What here? I don' have a:   ; C-c C-n
 (move-beginning-of-line)   ; C-a
 (forward-word) ; M-f
 (backward-word); M-b
 (yank) ; C-y
 (insert " - ") ; SPC - SPC
 (move-end-of-line) ; C-e
 (backward-word); M-b
 (forward-word) ; M-f
 (insert "\"")  ; "
 )

Then you will get a defun that does something that is clearly useful
to you... you can start by creating and debugging a handful of defuns
like that one and then learn what most people consider as "real
Elisp"...

   Cheers =),
 Eduardo Ochs
 http://angg.twu.net/#eev

Re: examples for org-manual

2021-12-07 Thread Ihor Radchenko
brownexitus via "General discussions about Org-mode."
 writes:

> The org-manual could use more practical examples, in my opinion.
> How does one submit suggestions/edits?

Thanks for the interest in improving the manual!
The contribution to manual are done same way as any other contribution -
you need to send patches to this mailing list. If the maintainers agree
with the patch, they will apply it on your behalf. See
https://orgmode.org/worg/org-contribute.html for details.

The source file for the manual is located in the doc/org-manual.org
inside the Org mode repository.

If you just want to give suggestions, an email to this list will do.
Though patches are always more welcome because they take less time on
the maintainer side.

Looking forward for you future contributions.

Best regards,
Ihor



Re: [BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]

2021-12-07 Thread Colin Baxter 😺

Hello Michael,
> Michael Eliachevitch  writes:

> Hello, I found a potential bug in org which I can reproduce with a
> minimal configuration.

> I added some org-capture templates purely for clocking into tasks
> via the capture-menu. These capture templates are for things I
> want to time-track but don't want to create a special entry for
> (like eating and breaks), so I used the `plain' type with an empty
> `""' template hoping it would clock into the given olp:

> (setq org-capture-templates '(( "c" "clock into") ("cu"
> "Unintended" plain (file+olp "~/org/clock_test.org" "Time sinks"
> "Unintended") "" :clock-in t :clock-keep t :immediate-finish t)
> ("ce" "Eating" plain (file+olp "~/org/clock_test.org" "Time sinks"
> "Eating") "" :clock-in t :clock-keep t :immediate-finish t)))

> My `clock_test.org' has the following headings:

> * Time sinks ** Unintended ** Eating

This is amazing. I have run into exactly the same problem. I was
wondering whether to report it!

Oh, and I can reproduce the bug with your ECM.

Thanks for reporting it.

Best wishes,

Colin Baxter.


signature.asc
Description: PGP signature


[BUG] Plain capture template clocks into following headline instead of given olp [9.5.1 (release_9.5.1-15-gdb4805 @ /usr/share/emacs/29.0.50/lisp/org/)]

2021-12-07 Thread Michael Eliachevitch

Hello,

I found  a potential bug in org which I can reproduce with a 
minimal configuration.


I added some org-capture templates purely for clocking into tasks 
via the capture-menu. These capture templates are for things I 
want to time-track but don't want to create a special entry for 
(like eating and breaks), so I used the `plain' type with an empty 
`""' template hoping it would clock into the given olp:


(setq org-capture-templates
   '(( "c" "clock into")
   ("cu" "Unintended" plain
   (file+olp "~/org/clock_test.org" "Time sinks" 
   "Unintended")

   "" :clock-in t :clock-keep t :immediate-finish t)
   ("ce" "Eating" plain
   (file+olp "~/org/clock_test.org" "Time sinks" "Eating")
   "" :clock-in t :clock-keep t :immediate-finish t)))

My `clock_test.org' has the following headings:

* Time sinks
** Unintended
** Eating

*The BUG:* When I then run `org-capture' with "cu" to clock into 
"Unintended", emacs actually clocks into "Eating". I get the same 
with an file+headline configuration. I can reproduce it with 
`emacs -q' where I just load the capture-template above.


My assumption is that the clock-in function expects that a new 
entry is created with the capture template and then it 
automatically clocks into the entry, but maybe clocking into the 
the parent olp of an empty plain entry is not the intended 
purpose. In any way, even if I didn't use it according to the 
intended purpose, I still think it's a bug that it clocks into the 
following heading.


I would suggest that if in the scope of the captured entry there 
is nothing to clock into, either clock into the parent or just 
give a warning that there is nothing to clock into.


By the way, unrelated to the bug, but if you have alternative 
ideas how I should achieve my goal of easily clocking into 
non-tasks I would be happy about suggestings. Maybe I could do 
something like a hydra menu with some small elisp-code, but I just 
thought using the existing capture-functionality should be 
simplest.


Below is my emacs and org configuration from 
`org-submit-bug-report' from my `emacs -q' session. I recently 
compiled the latest version of the feature/pgtk branch  and have 
native compilation enabled, which I used to compile the latest 
version of org, but I think the behavior that I observed.


Cheers,
Michael Eliachevitch




Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ 
Version 3.24.30, cairo version 1.17.4)

of 2021-12-06
Package: Org mode version 9.5.1 (release_9.5.1-15-gdb4805 @ 
/usr/share/emacs/29.0.50/lisp/org/)


current state:
==
(setq
org-link-elisp-confirm-function 'yes-or-no-p
org-bibtex-headline-format-function #[257 "\300\236A\207" 
[:title] 3 "\n\n(fn ENTRY)"]

org-capture-templates '(("c" "clock into")
			 ("cu" "Unintended" plain (file+olp 
			 "~/org/clock_test.org" "Time sinks" 
			 "Unintended") ""
			  :clock-in t :clock-keep t 
			  :immediate-finish t)
			 ("ce" "Eating" plain (file+olp 
			 "~/org/clock_test.org" "Time sinks" 
			 "Eating") "" :clock-in

  t :clock-keep t :immediate-finish t)
 )
org-export-before-parsing-hook '(org-attach-expand-links)
org-archive-hook '(org-attach-archive-delete-maybe)
org-cycle-hook '(org-cycle-hide-archived-subtrees 
org-cycle-hide-drawers org-cycle-show-empty-lines

  org-optimize-window-after-visibility-change)
org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook 
change-major-mode-hook org-show-all append local] 5]

 #[0 "\300\301\302\303\304$\207"
		   [add-hook change-major-mode-hook 
		   org-babel-show-result-all append local] 5]
		 org-babel-result-hide-spec 
		 org-babel-hide-all-hashes)

org-confirm-shell-link-function 'yes-or-no-p
outline-isearch-open-invisible-function 
'outline-isearch-open-invisible

org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-src-mode-hook '(org-src-babel-configure-edit-buffer 
org-src-mode-configure-edit-buffer)

org-confirm-elisp-link-function 'yes-or-no-p
org-speed-command-hook '(org-speed-command-activate 
org-babel-speed-command-activate)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe 
org-babel-header-arg-expand)

org-link-shell-confirm-function 'yes-or-no-p
org-babel-pre-tangle-hook '(save-buffer)
org-agenda-loop-over-headlines-in-active-region nil
org-occur-hook '(org-first-headline-recenter)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-link-parameters '(("attachment" :follow org-attach-follow 
:complete org-attach-complete-link)
		   ("id" :follow org-id-open) ("eww" :follow 
		   org-eww-open :store org-eww-store-link)
		   ("rmail" :follow org-rmail-open :store 
		   org-rmail-store-link)
		   ("mhe" :follow org-mhe-open :store 
		   org-mhe-store-link)
		   ("irc" :follow org-irc-visit :store 
		   org-irc-store-link :export org-irc-export)
		  

Re: Concrete suggestions to improve Org mode third-party integration :: an afterthought following Karl Voit's Orgdown proposal

2021-12-07 Thread Vincent Breton
Hi,

Org mode needs to have his pdf  documentation on the official web page
of documentation :  https://www.gnu.org/software/emacs/manual/org.html

How much time for example to copy  http://www.presentiel.com/org/org.pdf
file  on the official web site for gnu documentation, or if you prefer
to generate it again using sources?

In my opinion the link
https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html is
not appropriate and must be changed to
https://www.gnu.org/software/emacs/manual/emacs.html in the web
documentation page of Emacs. People must have the choice to choose
easily the format of files to read when possible and not be forced to be
oriented with or forced to use HTML format

Design web site  musn't reduce the access of documentation of products
to different formats. A direct link to manuals to differents formats
must be provided and others formats musn't be neglated, more
particularly when tools integrates sources and options to generate them.

Yes, separate site is good but it don't forget a easy and direct link to
the official doc to different formats...

Vincent

On 06/12/2021 20:45, Karl Voit wrote:
> Hi,
>
> * Ihor Radchenko  wrote:
>> Now, we need to understand what kind of people may be looking to
>> orgmode.org website.
>>
>> 1. Existing emacs users
>> 2. Non-emacs users interested in plain text markup
>> 3. Non-emacs users interested in GTD/project management, etc
>>"Org mode: your life in plain text" is somewhat relevant when people
>>are looking to manage "life" (typically true for GTD enthusiasts).
>> 4. Researchers looking for ipython-like environment
>> 5. ??? (Suggestions are welcome)
> I don't think that you can come up with a good website that is able
> to serve all of them properly.
>
> For Orgdown I had in mind number 2 and 3. For supporting the idea
> for Orgdown, I thought of number 1. (Well, that turned out in a
> mixed way[1]).
>
> If you do want to have a go-to for people who should use the
> Org-mode syntax without the GNU/Emacs tool, you need to have a
> separate site.
>
> [1] https://karl-voit.at/2021/12/02/Orgdown-feedback
>







Re: Handling conversion of fields with spaces to tables

2021-12-07 Thread Eric S Fraga
On Tuesday,  7 Dec 2021 at 08:09, Loris Bennett wrote:
> However, I can just pipe the output through 'sed' to get one at the
> beginning, so all is well.

Excellent!  sed is one of the most underrated tools in our arsenal and
actually highlights the great thing about org being all about text.

-- 
: Eric S Fraga, with org release_9.5.1-243-gad53c5 in Emacs 29.0.50
: Latest paper written in org: https://arxiv.org/abs/2106.05096



bug#52341: Fwd: 29.0.50; org-priority 'SPC to remove' doesn't work

2021-12-07 Thread Robert Pluim
> On Mon, 06 Dec 2021 20:48:46 -0500, Kyle Meyer  said:
Kyle> Right, this stems from org-priority feeding " " to string-to-number 
and
Kyle> ending up with 0 instead of the ?\s (32) that's used downstream to
Kyle> signal "remove".  The problem goes back to when support for numeric
Kyle> priorities was added in Org v9.4's 4f98694bf (Allow numeric values for
Kyle> priorities, 2020-01-30).

Kyle> I suppose one solution would be to check for " " and translate that to
Kyle> the ?\s so that the remove is triggered.  I'll plan to apply the 
change
Kyle> below to Org's bugfix branch in a day or two unless the author of the
Kyle> above commit (+cc) or someone else has another suggestion.

That fixes part of the issue, but still when using numeric priorities,
removal will be 'SPC RET' rather than 'SPC'.

Robert
-- 





Re: From macros to elisp programming?

2021-12-07 Thread Marcin Borkowski


On 2021-12-06, at 23:10, Tim Cross  wrote:

> It is difficult to recommend resources as a lot depends on your own
> experience, what level you want to dive into and what you want to be
> able to do. There is a big difference in knowing enough emacs lisp to
> tweak your Emacs configuration and knowing enough emacs lisp to write
> the next great package. The good news is that there are some great free
> resources out there, so the main investment will be in time.

+1

> If you have not yet read it, a good starting point is Mastering Emacs by
> Mickey Petersen  https://www.masteringemacs.org/

Agreed, though AFAIR it doesn't talk about coding in Elisp, only /using/
Emacs.

> There is also an Introduction to Emacs Lisp, which is part of the GNU
> Emacs distribution.

I second that.  It is a great book for beginners.

> For getting to understand lisp programming at a much deeper level, there
> are some excellent resources out there, many of which are free. The
> trick is to not limit yourself to searching just for Emacs lisp. Emacs
> lisp is a dialect of lisp - a domain specific language for an editor if
> you like. Most of the concepts associated with lisp are applicable to
> emacs lisp. almost any resource teaching lisp will teach you things
> applicable to emacs lisp. Therefore, if you really want to learn how to
> program in emacs lisp, search for resources on learning to program in
> lisp.

On the other hand, Elisp has quite a few quirks which make it stand
out.  These mare mainly related to the fact that Emacs is a text editor
and not an interpreter for a general-purpose language.  Things like
point, windows, buffers, using buffers to process text (as opposed to
strings in 99% langauges), buffer-local variables, advice system...

> There is a somewhat famous book called 'The Structure and Interpretation
> of Computer Programs" (SCIP), which is based on a course in computer
> science taught at MIT. It is an excellent book. Even better, videos from
> the course are also available on-line. While the focus is on
> programming, it uses a lisp dialect to demonstrate the core principals,
> which it makes very clear. A must watch for anyone really keen to
> understand programming.

+100.  Those videos are great (the book is more in-depth, though).

> Another great book about lisp which is also freely available is Paul
> Graham's 'On Lisp', which I think gives a pretty good overview of the
> power and flexibility of lisp and functional programming. 

Yes, though it it way more advanced - I probably wouldn't give it to
a beginner.

> A book which I really like and which I think really shows off the power
> of lisp macros is Doug Hoyte's "Let over Lambda". Not only does this book
> show the wonderful power and possibilities of macros, it also shows some
> of the dangers and pitfalls. However, it is pretty hard core computer
> science focused and can take some effort to really digest. 

Also, one can go a really long way /without/ macros.  I'd argue that the
main reason a beginning Elisper should learn the basics of (Elisp)
macros is to be able to (roughly) understand what is going on when s/he
sees them in other people's code.

> If you really want to learn emacs lisp, there is really only one route
> you can take - sit down and start using it to write simple programs to
> solve some basic problems. Maybe you would like to automate some of what
> you do or maybe you would like to modify how Emacs does something or
> maybe you want to create a new command to do something. Open a new
> window and start trying to implement your idea. You will run into road
> blocks and you will often be frustrated, but eventually the penny will
> drop. The other big advantage is that when you run into problems, you
> will have concrete issues which you can take to a forum for help. It is
> much easier for people to help with something concrete than something
> more vague or conceptual. The only real way to learn is to do - if you
> want to learn emacs lisp, you need to use emacs lisp to solve
> problems.

Again, very solid advice.  Though for some people at least some guidance
may be valuable.  One example would be "Writing GNU Emacs Extensions" by
Bob Glickstein.  It is fairly old, but from what I heard most of it
should be still relevant.  Word of caution: I'm not sure I'd agree with
Glickstein's selection of topics.  For example, he writes about writing
major modes or autoloading.  The former is IMO not very useful unless
you are doing something /extremely/ atypical.  The latter is very
advanced (and not really essential for 99.99% or even 100% use-cases),
and by the time the learner /needs/ it, s/he will be advanced enough to
learn it from the GNU Emacs Lisp Reference Manual anyway.

Speaking of which, it also an excellent resource not to be overlooked -
and it comes with Emacs itself.

Another thing I'd like to add here is that asking on this list is
usually a good idea.  I learned a lot (and I'm still learning a lot)
just by re

bug#45915: 28.0.90; deletechar distorts org-table

2021-12-07 Thread Tak Kunihiro
I confirm that there still is the problem with org-table on Emacs
28.0.90 pretest with org-version 9.5.1.

Here is a recipe to reproduce the problem.  I still have to stick to
26.3.

 1. emacs -Q
 2. (defun emacs-bug-reproduce-45915 () ...)
 3. (call-interactively 'emacs-bug-reproduce-45915)

(defun emacs-bug-reproduce-45915 ()
  "Reproduce bug#45915."
  ;; (gnus-read-ephemeral-emacs-bug-group 45915)
  (interactive)
  (with-current-buffer (get-buffer-create "*temp buffer*")
(erase-buffer)
(require 'org)
(orgtbl-mode 1)
(insert (format "emacs-version: %s, org-version: %s\n" emacs-version 
org-version))
(insert "|   | rownames |
| / |   |
|---+--|
|   | a|"))
  (switch-to-buffer-other-window "*temp buffer*")
  (execute-kbd-macro (kbd "M-< C-n C-n C-n C-n C-f C-f"))
  (message "I will hit S-.")
  (sit-for 2)
  (execute-kbd-macro (kbd "S-"))
  (message "I will hit .")
  (sit-for 2)
  (execute-kbd-macro (kbd ""))
  (message "I will call previous-line.")
  (sit-for 2)
  (call-interactively 'previous-line))

> I confirm that there is still problem with org-table
> on Emacs 29.0.50 with org-version 9.5.
>
 I confirm that there still is following problem on 27.1.91.
 Could someone take a look and show me work around?
>>> 
>>> I cannot reproduce this with latest Org stable version 9.4.5.
>>> 
>>> Can you try again and report?
>>
>> I downloaded Org 9.4.5 and reproduced the problem on 26.3, 27.2,
>> and 28.0.50. Here is a recipe again.
>>
>>> On certain condition, typing  distorts alignment of
>>> a table.  Then, typing  moves point to previous line but far
>>> right position (column 14 instead of column 2).
>>> 
>>> |   | rownames | |   | rownames |
>>> | / |   | | / |   |
>>> |---+--| ->  |---+--|
>>> | / | a| |  | a|
>>> 
>>> Here is a recipe to reproduce the glitch started from emcas -Q. 
>>> 
>>> 1. Create a buffer with (text-mode) and yank following table.
>>> 
>>> |   | rownames |
>>> | / |   |
>>> |---+--|
>>> |   | a|
>>> 
>>> 2. (progn (require 'org) (call-interactively 'orgtbl-mode))
>>> 3. Move point to the first column and the third line with letter 'a'.
>>> 4. Hit .
>>> 5. Hit .
>>> 6. Hit .