Re: [PATCH v2] org-agenda: Use `window-max-chars-per-line' to calculate max text width

2022-04-22 Thread N. Jackson
At 13:58 +0800 on Friday 2022-04-22, Ihor Radchenko wrote:
>
> Attaching the updated patch.

> @@ -10301,10 +10301,7 @@ (defun org-agenda-show-new-time (marker stamp 
> &optional prefix)
> (line-end-position)
> '(display nil))
> (org-move-to-column
> -   (- (if (fboundp 'window-font-width)
  ^^^   
> -  (/ (window-width nil t) (window-font-width))
> -;; Fall back to pre-9.3.3 behavior on Emacs <25.
> -(window-width))
> +   (- (window-max-chars-per-line)

The fboundp version guard on window-font-width was added to Org recently:

  commit 94837fc6b5ca204962f3ed992e30cd998d66a9fe
  Author: Kyle Meyer 
  Date:   Sat May 1 15:48:11 2021 -0400

  agenda: Fix org-agenda-show-new-time on Emacs 24

  * lisp/org-agenda.el (org-agenda-show-new-time): Add fallback for when
  window-font-width isn't available.

  efbf96389 (org-agenda.el: Fix display of agenda new time, 2020-02-02)
  reworked the column calculation to use window-font-width, but that
  function isn't available until Emacs 25, and it's definition can't be
  easily ported to org-compat.

  Instead just use the old logic, which had been in place since v8.2.6,
  when window-font-width isn't available.

  Reported-by: Ihor Radchenko 
  Link: https://orgmode.org/list/87y2d2mqik.fsf@localhost

If Org needs to support versions of Emacs before 25.1 then I assume
you need the same guard on every instance of
window-max-chars-per-line -- because window-max-chars-per-line was
added to Emacs at the same time as window-font-width:

  commit 4a50af936e24b5f71df4079beb6dde82ed1955c2
  Author: Titus von der Malsburg 
  Date:   Sat Mar 21 12:31:29 2015 +0200

  Add new functions for computing default font dimensions

   lisp/window.el (window-font-width, window-font-height)
   (window-max-chars-per-line): New functions.
   lisp/simple.el (default-font-height): Doc fix.
   (default-font-width): New function.

   etc/NEWS: Mention `default-font-width', `window-font-height',
   `window-font-width', and `window-max-chars-per-line'.

[These functions were new in Emacs 25.1:

  $ cat etc/NEWS.25 | grep -C 5  window-max-chars-per-line
  *** New functions 'window-font-height' and 'window-font-width' return
  the height and average width of characters in a specified face and
  window.  If FACE is remapped (see 'face-remapping-alist'), the
  function returns the information for the remapped face.

  *** A new function 'window-max-chars-per-line' returns the maximal
  number of characters that can be displayed on one line.  If a face
  and/or window are provided, these values are used for the
  calculation.  This function is different from 'window-body-width' in
  that it accounts for (i) continuation glyphs, (ii) the size of the
  font, and (iii) the specified window.
]


Perhaps this calls for a new wrapper function in Org, an
org--window-max-chars-per-line that wraps window-max-chars-per-line
in an fboundp and falls back to window-width -- rather than clutter
up the code with the fboundp guard.

Regards,
N.




Re: [PATCH v2] org-agenda: Use `window-max-chars-per-line' to calculate max text width

2022-04-22 Thread Ihor Radchenko
"N. Jackson"  writes:

>> +   (- (window-max-chars-per-line)
>
> If Org needs to support versions of Emacs before 25.1 then I assume
> you need the same guard on every instance of
> window-max-chars-per-line -- because window-max-chars-per-line was
> added to Emacs at the same time as window-font-width:

We do not need to worry about this. Org supports the latest released
Emacs version + 2 previous [1]. Now, it means Emacs >=26.

[1] https://orgmode.org/worg/org-maintenance.html#emacs-compatibility

Best,
Ihor



Re: org table: generate a weekly calendar with column that represents the hours

2022-04-22 Thread Eric S Fraga
Something to play with:

| start | duration |   end | notes |
|---+--+---+---|
| 08:00 | 1:00 | 09:00 |   |
| 09:00 |01:00 | 10:00 |   |
| 10:00 |01:00 | 11:00 |   |
| 11:00 |01:00 | 12:00 |   |
| 12:00 |01:00 | 13:00 |   |
| 13:00 |01:00 | 14:00 |   |
| 14:00 |01:00 | 15:00 |   |
| 15:00 |01:00 | 16:00 |   |
| 16:00 |01:00 | 17:00 |   |
| 17:00 |01:00 | 18:00 |   |
| 18:00 |01:00 | 19:00 |   |
| 19:00 |01:00 | 20:00 |   |
| 20:00 |01:00 | 21:00 |   |
#+TBLFM: @<<<$2..@>$2=@-1;U::@<<<$1..@>$1=@-1+@-1$+1;U::$3=$1+$2;U

-- 
: Eric S Fraga, with org release_9.5.3-397-g81289b in Emacs 29.0.50



Re: org-cite styles don't allow * in them

2022-04-22 Thread Bruce D'Arcus
On Thu, Apr 21, 2022 at 4:06 AM Nicolas Goaziou  wrote:

> If there's no objection, I'll add asterisk character to the list of
> allowed characters in citation style.
>
> More generally, what other characters should be allowed ?

This request is to accommodate latex command names, and the only
non-letter characters those use are asterisks.

I think it's fine to stop there.

Bruce



Re: overlap between cite syntax and link activation

2022-04-22 Thread Bruce D'Arcus
Nicolas (or Ihor?) - can you take a look at this too?

It's the second of the two stoppers that John identified.

He seems to have reported a related issue last August, but it slipped
through the cracks.

https://lists.gnu.org/archive/html/emacs-orgmode/2021-08/msg00303.html


On Sun, Apr 3, 2022 at 8:55 PM Bruce D'Arcus  wrote:
>
> On Sun, Apr 3, 2022 at 7:46 PM John Kitchin  wrote:
> ...
>
> > When I put my cursor on the org-cite line and press spc, I see a message 
> > box pop up, and the @key has a tooltip of "BARE LINK".
>
> 
>
> > Does anyone else see this?
>
> Yes; I see the same thing with your example.
>
> Bruce



Re: org table: generate a weekly calendar with column that represents the hours

2022-04-22 Thread Uwe Brauer
>>> "ESF" == Eric S Fraga  writes:

> Something to play with:
> | start | duration |   end | notes |
> |---+--+---+---|
> | 08:00 | 1:00 | 09:00 |   |
> | 09:00 |01:00 | 10:00 |   |
> | 10:00 |01:00 | 11:00 |   |
> | 11:00 |01:00 | 12:00 |   |
> | 12:00 |01:00 | 13:00 |   |
> | 13:00 |01:00 | 14:00 |   |
> | 14:00 |01:00 | 15:00 |   |
> | 15:00 |01:00 | 16:00 |   |
> | 16:00 |01:00 | 17:00 |   |
> | 17:00 |01:00 | 18:00 |   |
> | 18:00 |01:00 | 19:00 |   |
> | 19:00 |01:00 | 20:00 |   |
> | 20:00 |01:00 | 21:00 |   |

> #+TBLFM: @<<<$2..@>$2=@-1;U::@<<<$1..@>$1=@-1+@-1$+1;U::$3=$1+$2;U
Thanks very much let me see whether I understand its logic

I tried

| start | duration |   end | notes |
|---+--+---+---|
| 08:00 | 1:00 | 09:00 |   |
#+TBLFM: @<<<$2..@>$2=@-1;U::@<<<$1..@>$1=@-1+@-1$+1;U::$3=$1+$2;U

I put the cursor say on the word «start»
And then fire up  C-c C-c, nothing happens. I fire up C-u C-u C-c C-c and it 
complains because the expression 
points outside the table

| start | duration |   end | notes |
|---+--+---+---|
| 08:00 | 1:00 | 09:00 |   |
|   |  |   |   |
#+TBLFM: @<<<$2..@>$2=@-1;U::@<<<$1..@>$1=@-1+@-1$+1;U::$3=$1+$2;U

Now C-u C-u C-c C-c gives

| start | duration |   end | notes |
|---+--+---+---|
| 08:00 | 1:00 | 09:00 |   |
| 09:00 |01:00 | 10:00 |   |
#+TBLFM: @<<<$2..@>$2=@-1;U::@<<<$1..@>$1=@-1+@-1$+1;U::$3=$1+$2;U

Very very nice, so I can proceed like this.


Thanks a lot!

Uwe 
-- 
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 


smime.p7s
Description: S/MIME cryptographic signature


Re: org-cite styles don't allow * in them

2022-04-22 Thread John Kitchin
I agree.
John

---
Professor John Kitchin (he/him/his)
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



On Fri, Apr 22, 2022 at 8:57 AM Bruce D'Arcus  wrote:

> On Thu, Apr 21, 2022 at 4:06 AM Nicolas Goaziou 
> wrote:
>
> > If there's no objection, I'll add asterisk character to the list of
> > allowed characters in citation style.
> >
> > More generally, what other characters should be allowed ?
>
> This request is to accommodate latex command names, and the only
> non-letter characters those use are asterisks.
>
> I think it's fine to stop there.
>
> Bruce
>
>


how to exclude several single dates from a diary block

2022-04-22 Thread Rainer Thiel
I use Org-Mode to schedule most everything, including my lectures
which typically are recurring events.  I have learnt that I can
exclude a certain range of days or weeks where no lectures take place.
For this, I use:

* TODO 12:15--13:45 Lecture: Aristotle
<%%(unless (diary-block 12 20 2021 12 31 2021) (and (= 3
(calendar-day-of-week date)) (diary-block 10 18 2021 02 11 2022)))>

which means that the lecture on Aristotle is scheduled for every
Wednesday between October 18th, 2021 and February 11th, 2022 – except
for the time between December 20th, 2021 and December 31st, 2021.

What I need to do for this year is to exclude single dates such as
April 26th, 2022 and June 21st, 2022.  Can someone please help me how
to achieve this?

Many thanks in advance,

Rainer
-- 
Prof. Dr. Rainer Thiel
Institut für Altertumswissenschaften
07737 Jena, Germany (EU)
r.th...@uni-jena.de



Re: how to exclude several single dates from a diary block

2022-04-22 Thread Eric S Fraga
On Friday, 22 Apr 2022 at 16:15, Rainer Thiel wrote:
> I use Org-Mode to schedule most everything, including my lectures
> which typically are recurring events.  

Instead of using diary s-expressions, what I do is create one entry for
the first lecture, say, and then use org-clone-subtree-with-time-shift
to create the copies, typically shifted by 1 week.  Then I go through
the created entries and delete those weeks that need to be omitted.

Maybe not as elegant but works very well and it's what I've been doing
for years now for my own lectures.

-- 
: Eric S Fraga, with org release_9.5.3-397-g81289b in Emacs 29.0.50



[BUG] Agenda view fails with rx error in org-at-timestamp-p

2022-04-22 Thread Christian Moe


Hi,

After updating to Org mode version 9.5.3-g69c588 via Elpa on Emacs
26.3, my Org Agenda view fails with the following backtrace:

Debugger entered--Lisp error: (error "rx form ‘regexp’ requires args satisfying 
‘stringp’")
  signal(error ("rx form ‘regexp’ requires args satisfying ‘stringp’"))
  error("rx form `%s' requires args satisfying `%s'" regexp stringp)
  rx-check((regexp org-ts-regexp3))
  rx-regexp((regexp org-ts-regexp3))
  rx-form((regexp org-ts-regexp3) |)
  #f(compiled-function (x) #)((regexp org-ts-regexp3))
  mapconcat(#f(compiled-function (x) #) ((regexp 
org-ts-regexp3) (regexp org-element--timestamp-regexp)) "\\|")
  rx-or((or (regexp org-ts-regexp3) (regexp org-element--timestamp-regexp)))
  rx-form((or (regexp org-ts-regexp3) (regexp org-element--timestamp-regexp)))
  rx-to-string((or (regexp org-ts-regexp3) (regexp 
org-element--timestamp-regexp)) t)
  #f(compiled-function (&rest regexps) #)((or (regexp 
org-ts-regexp3) (regexp org-element--timestamp-regexp)))
  (rx (or (regexp org-ts-regexp3) (regexp org-element--timestamp-regexp)))
  (if (eq extended (quote agenda)) (rx (or (regexp org-ts-regexp3) (regexp 
org-element--timestamp-regexp))) org-ts-regexp3)
  (if extended (if (eq extended (quote agenda)) (rx (or (regexp org-ts-regexp3) 
(regexp org-element--timestamp-regexp))) org-ts-regexp3) org-ts-regexp2)
  (let* ((regexp (if extended (if (eq extended (quote agenda)) (rx (or (regexp 
org-ts-regexp3) (regexp org-element--timestamp-regexp))) org-ts-regexp3) 
org-ts-regexp2)) (pos (point)) (match\? (let ((boundaries (org-in-regexp 
regexp))) (save-match-data (cond ((null boundaries) nil) ((eq extended ...) t) 
(t (or ... ...))) (cond ((not match\?) nil) ((= pos (match-beginning 0)) 
(quote bracket)) ((= pos (1- (match-end 0))) (quote bracket)) ((= pos 
(match-end 0)) (quote after)) ((org-pos-in-match-range pos 2) (quote year)) 
((org-pos-in-match-range pos 3) (quote month)) ((org-pos-in-match-range pos 7) 
(quote hour)) ((org-pos-in-match-range pos 8) (quote minute)) ((or 
(org-pos-in-match-range pos 4) (org-pos-in-match-range pos 5)) (quote day)) 
((and (or (match-end 8) (match-end 5)) (> pos (or (match-end 8) (match-end 5))) 
(< pos (match-end 0))) (- pos (or (match-end 8) (match-end 5 (t (quote 
day
  org-at-timestamp-p(agenda)
  org-agenda-get-timestamps(nil)
  org-agenda-get-day-entries("/home/cm/org/pro.org" (4 18 2022) :deadline 
:scheduled :timestamp :sexp)
  apply(org-agenda-get-day-entries "/home/cm/org/pro.org" (4 18 2022) 
(:deadline :scheduled :timestamp :sexp))
  org-agenda-list(nil)
  funcall-interactively(org-agenda-list nil)
  call-interactively(org-agenda-list)
  org-agenda(nil)
  funcall-interactively(org-agenda nil)
  call-interactively(org-agenda nil nil)
  command-execute(org-agenda)

Yours,
Christian



Re: [BUG] Agenda view fails with rx error in org-at-timestamp-p

2022-04-22 Thread Ihor Radchenko
Christian Moe  writes:

> After updating to Org mode version 9.5.3-g69c588 via Elpa on Emacs
> 26.3, my Org Agenda view fails with the following backtrace:

This has been fixed on main.
I am not sure if this fix should be ported back to bugfix given
https://list.orgmode.org/87mtggyyvm@gnu.org/T/#t

Best,
Ihor



Re: how to exclude several single dates from a diary block

2022-04-22 Thread Rainer Thiel
Thanks for the answer.  I used to do this, too, and am aware of this
possibility.  I find it kind of clutters up the org file and was happy
to find a way to avoid this.  I will return to this if I need to, but
would prefer to adapt the more elegant way to do it, if there is a
way.

Many thanks again

Rainer

Am Fr., 22. Apr. 2022 um 16:23 Uhr schrieb Eric S Fraga :
>
> On Friday, 22 Apr 2022 at 16:15, Rainer Thiel wrote:
> > I use Org-Mode to schedule most everything, including my lectures
> > which typically are recurring events.
>
> Instead of using diary s-expressions, what I do is create one entry for
> the first lecture, say, and then use org-clone-subtree-with-time-shift
> to create the copies, typically shifted by 1 week.  Then I go through
> the created entries and delete those weeks that need to be omitted.
>
> Maybe not as elegant but works very well and it's what I've been doing
> for years now for my own lectures.
>
> --
> : Eric S Fraga, with org release_9.5.3-397-g81289b in Emacs 29.0.50



-- 
Prof. Dr. Rainer Thiel
Institut für Altertumswissenschaften
07737 Jena, Germany (EU)
r.th...@uni-jena.de



Re: [PATCH v2] org-agenda: Use `window-max-chars-per-line' to calculate max text width

2022-04-22 Thread N. Jackson
At 17:27 +0800 on Friday 2022-04-22, Ihor Radchenko wrote:
>
> "N. Jackson"  writes:
>>
>> If Org needs to support versions of Emacs before 25.1 then I assume
>> you need the same guard on every instance of
>> window-max-chars-per-line -- because window-max-chars-per-line was
>> added to Emacs at the same time as window-font-width:
>
> We do not need to worry about this. Org supports the latest released
> Emacs version + 2 previous [1]. Now, it means Emacs >=26.
>
> [1] https://orgmode.org/worg/org-maintenance.html#emacs-compatibility

Ah, I didn't know that. Thanks.


I have tested with your v2 patch applied to Org 9.5.3:

1. It fixes the two bugs I reported in this thread (with one or both fringes
off, Agenda wraps `auto' (right) aligned tags unnecessarily and wraps the block
separator).

2. It also makes the Agenda display properly after the font size has been
altered with C-x +/-. This didn't work before, even with default fringes. [One
has to hit `g' to refresh the Agenda after changing the font size.]

3. As is to be expected, it doesn't help with an Agenda displayed with a
proportional font -- but it doesn't seem to make things any worse.


FWIW a summary of my testing of tags alignment, separator width, and new time
stamps for various fringe modes is shown below.

1. With my normal default font (-PfEd-DejaVu Sans
Mono-normal-normal-normal-*-11-*-*-*-m-0-iso10646-1):

|+---+---+---+---+---+---|
||   Tags alignment  |  Separator width  |New time   |
|  Fringe mode   +---+---+---+---+---+---|
|| 9.5.3 | +v2 Patch | 9.5.3 | +v2 Patch | 9.5.3 | +v2 Patch |
|+---+---+---+---+---+---|
| Default (Both) | OK| OK| OK| OK| OK| OK|
| Minimal| OK| OK| OK| OK| OK| OK|
| Left only  | FAIL  | OK| FAIL  | OK| OK| OK|
| Right only | FAIL  | OK| FAIL  | OK| OK| OK|
| No fringes | FAIL  | OK| FAIL  | OK| OK| OK|
|+---+---+---+---+---+---|


2. After `C-x + + +' and also `C-x - - -' (giving -PfEd-DejaVu Sans
Mono-normal-normal-normal-*-21-*-*-*-m-0-iso10646-1 and -PfEd-DejaVu Sans
Mono-normal-normal-normal-*-7-*-*-*-m-0-iso10646-1):

|+---+---+---+---+---+---|
||   Tags alignment  |  Separator width  |New time   |
|  Fringe mode   +---+---+---+---+---+---|
|| 9.5.3 | +v2 Patch | 9.5.3 | +v2 Patch | 9.5.3 | +v2 Patch |
|+---+---+---+---+---+---|
| Default (Both) | FAIL  | OK| FAIL  | OK| OK| OK|
| Minimal| FAIL  | OK| FAIL  | OK| OK| OK|
| Left only  | FAIL  | OK| FAIL  | OK| OK| OK|
| Right only | FAIL  | OK| FAIL  | OK| OK| OK|
| No fringes | FAIL  | OK| FAIL  | OK| OK| OK|
|+---+---+---+---+---+---|


3. With a proportional font (-1ASC-Liberation
Sans-normal-normal-normal-*-13-*-*-*-*-0-iso10646-1):

|+---+---+---+---+---+---|
||   Tags alignment  |  Separator width  |New time   |
|  Fringe mode   +---+---+---+---+---+---|
|| 9.5.3 | +v2 Patch | 9.5.3 | +v2 Patch | 9.5.3 | +v2 Patch |
|+---+---+---+---+---+---|
| Default (both) | FAIL  | FAIL  | FAIL  | FAIL  | OK| OK|
| Minimal| FAIL  | FAIL  | FAIL  | FAIL  | OK| OK|
| Left only  | FAIL  | FAIL  | FAIL  | FAIL  | OK| OK|
| Right only | FAIL  | FAIL  | FAIL  | FAIL  | OK| OK|
| No fringes | FAIL  | FAIL  | FAIL  | FAIL  | OK| OK|
|+---+---+---+---+---+---|

Note: My testing of the position of the new time stamps was only cursory. I
never pay attention to them in normal use. I just checked that they were
approximately right aligned. [I think, in fact, that both before and after your
patch the behaviour isn't quite correct -- the stamps appear to be one character
too far to the left. Of course that is barely noticeable and there are clearly
far far more important things in Org to be worked on.]

Regards,
N.




Re: [BUG] org-agenda thinks timestamps after 23:00 correspond to the next day [9.5.2 (release_9.5.2-25-gaf6f12 @ /home/ignacio/repos/emacs/lisp/org/)]

2022-04-22 Thread Max Nikulin

On 05/04/2022 11:20, Kyle Meyer wrote:

Max Nikulin writes:


Emacs copy of Org changed the way of calling `encode-time' as a result
interpretation of last nils returned by `org-parse-string' altered from
ignored to "no DST".


My suggestion:

   1. Send a report to bug-gnu-em...@gnu.org describing the issue.  Ask
  that Paul revert those changes.

  I can do this at some point this week.


Ignacio, have you tried recent emacs master branch? Paul reverted most 
of his changed, see


8ef37913d Paul Eggert 2022-04-06 07:48:05
Port Org encode-time usage back to Emacs 25

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54731


   2. Audit and update the call sites on our side, along with some
  compatibility layer.

The first isn't necessary, but it avoids the problem living in the Emacs
master branch until the updated Org code base (main branch) is synced
with it (which hasn't started yet).





Re: overlap between cite syntax and link activation

2022-04-22 Thread Nicolas Goaziou
Hello,

"Bruce D'Arcus"  writes:

> Nicolas (or Ihor?) - can you take a look at this too?
>
> It's the second of the two stoppers that John identified.
>
> He seems to have reported a related issue last August, but it slipped
> through the cracks.
>
> https://lists.gnu.org/archive/html/emacs-orgmode/2021-08/msg00303.html

One short-term solution would be to use the same function to fontify
links and cites. I.e., "org.el" could define
`org-activate-cites-and-links', which in turn, would dispatch work to
either `org-activate-links' or `org-cite-activate'.

A long-term solution would be to apply fontification on top of parsed
data exclusively. IIRC, I think Ihor started to work on something like
this, but I don't know about the current state of that project.

Regards,
-- 
Nicolas Goaziou



Re: [PATCH v2 00/38] Final call for comments: Merge org-fold feature branch

2022-04-22 Thread Kévin Le Gouguec
Hey Ihor!

Ihor Radchenko  writes:

> This is the final version of the patch. I am going to merge it this
> weekend. If there are any comments, please send them ASAP.

I've thrown a couple of LOGBOOK-heavy Org files at your branch; I'm
observing something that I can't make sense of.  I tried to condense one
of these files into a small reproducer, see attached file; couldn't find
the time to make it smaller, sorry!

My recipe (based on commit f9dd109bc, Emacs 29.0.50 commit 864c8013fd):

$ git switch feature/org-fold-universal-core-tidy
$ make autoloads
$ emacs -Q -L lisp -eval "(setq org-startup-folded t)" repro.org

Restarting Emacs with the above between each step:

(1) C-s abc ⇒ no logbook is unfolded,
(2) C-s def ⇒ no logbook is unfolded,
(3) C-s ghi ⇒ some logbooks are unfolded.

Assuming you can reproduce: is it expected that logbooks are expanded in
case (3)?  I don't see what's "conceptually" different in situation (3)
vs. (1) and (2), so I'm puzzled to get different results.


Also, a bit of idle curiosity:

> (defun org-fold--isearch-reveal (&rest _)
>   "Reveal text at POS found by isearch."
>   (org-fold-show-set-visibility 'isearch))

org-fold-show-set-visibility calls either
org-fold-show-set-visibility--overlays, or
org-fold-show-set-visibility--text-properties, and AFAICT neither of
these handle 'isearch as an argument…  Is there a (cdr (assq 'isearch
org-fold-show-context-detail)) missing?

(This comes from a very cursory reading of the code; apologies if I've
missed something)


Other than this logbook oddity, I haven't found anything concerning.
Thanks for your efforts!


* xxx 
:LOGBOOK:
CLOCK: [2021-11-02 Tue 17:18]--[2021-11-02 Tue 17:25] =>  0:07
:END:
** xxx xxx x
***  [[:xxx/xx/x]]
:LOGBOOK:
CLOCK: [2021-11-03 Wed 13:51]--[2021-11-03 Wed 14:13] =>  0:22
CLOCK: [2021-11-03 Wed 11:52]--[2021-11-03 Wed 12:00] =>  0:08
CLOCK: [2021-11-03 Wed 11:27]--[2021-11-03 Wed 11:42] =>  0:15
CLOCK: [2021-11-03 Wed 09:06]--[2021-11-03 Wed 10:04] =>  0:58
CLOCK: [2021-11-02 Tue 18:11]--[2021-11-02 Tue 18:45] =>  0:34
CLOCK: [2021-11-02 Tue 17:36]--[2021-11-02 Tue 17:38] =>  0:02
CLOCK: [2021-11-02 Tue 17:25]--[2021-11-02 Tue 17:31] =>  0:06
:END:
- [ ] x://.xx.xxx.xxx/xxx/ ?
  (.xx x xx xxx)
- 🙌
  - "xxx abc xxx  xx"
 [[x://.xxx.xxx/xxx/#/xxx/][xxx xxx  xxx]]
 [[x://.xxx.xxx/xxx/xx/x#x-xxx-xx-xx][x xxx xx xx]]
 [[x://.xxx.xxx/xxx/xx/x#xx-xx][xx xx]]
- def xx:
  - x ()
  - x ()
 [[x://.xxx.xxx/xxx/xx/x#--xxx-xxx-x][xxx xxx]]
xx xx xxx xx xxx xxx? ⇒
xxx-x...@xxx.xxx
 [[:]]
: ~xxx..xxx:/xxx/-~
***  [[x://.xx.xxx//x/xxx-/][xx xxx]]
:LOGBOOK:
CLOCK: [2021-11-03 Wed 15:13]--[2021-11-03 Wed 15:14] =>  0:01
CLOCK: [2021-11-03 Wed 14:55]--[2021-11-03 Wed 14:57] =>  0:02
:END:
***  [[x://.xx.xxx//x//][ xxx xx xx xxx xxx]]
:LOGBOOK:
CLOCK: [2021-11-03 Wed 15:14]--[2021-11-03 Wed 15:17] =>  0:03
:END:
***  [[x://.xx.xxx//x/xx_x/][xx xx xxx xxx]]
:LOGBOOK:
CLOCK: [2021-11-03 Wed 16:00]--[2021-11-03 Wed 16:30] =>  0:30
:END:
***  [[:xxx/]]
:LOGBOOK:
CLOCK: [2021-11-05 Fri 11:02]--[2021-11-05 Fri 11:18] =>  0:16
CLOCK: [2021-11-05 Fri 09:42]--[2021-11-05 Fri 09:55] =>  0:13
CLOCK: [2021-11-04 Thu 18:30]--[2021-11-04 Thu 18:32] =>  0:02
CLOCK: [2021-11-04 Thu 12:07]--[2021-11-04 Thu 12:14] =>  0:07
CLOCK: [2021-11-04 Thu 11:10]--[2021-11-04 Thu 12:00] =>  0:50
CLOCK: [2021-11-03 Wed 18:11]--[2021-11-03 Wed 18:20] =>  0:09
:END:
-  :: xxx + 
- xx ::   xx  xxx
  - xxx xxx "xx":
- x xx xx   x
- xxx xx xxx ∈ >x xxx
-  :: xx xx  xxx + 
  - xx xx x xxx x
  - xx xx  xx
- xxx :: x//xx x
  -   xx
- 🙌
  - [[:xxx//xxx]]
- " xxx : xx xxx x xxx xxx,  
  xx x x "
- "xx xxx  xx x  xx  xxx"
  - [[x://.xx.xxx//x//#xxx=x][xxx x xxx]]
- " xxx xx  xx x xxx  
  x xxx"
  - [[x://xxx.xxx.xxx/xxx/-