[elpa] externals/org a722f6f8ea: Document org-agenda-ignore-properties in manual

2022-06-29 Thread ELPA Syncer
branch: externals/org
commit a722f6f8ea409de847060997de8d4681dcdcd475
Author: Stefan Kangas 
Commit: Ihor Radchenko 

Document org-agenda-ignore-properties in manual

* doc/org-manual.org (Speeding Up Your Agendas): Document
`org-agenda-ignore-properties'.
---
 doc/org-manual.org | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index 4c2e968e7d..1926329ac3 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -21041,6 +21041,17 @@ number.  Here are tips to speed up:
   (setq org-agenda-use-tag-inheritance nil)
   #+end_src
 
+  #+vindex: org-agenda-ignore-drawer-properties
+- Disable parsing of some drawer properties:
+
+  #+begin_src emacs-lisp
+  (setq org-agenda-ignore-drawer-properties '(effort appt stats category))
+  #+end_src
+
+  The drawer properties you can disable in the agenda are effort
+  estimates (~effort~), appointments (~appt~), statistics (~stats~)
+  and subtree-local categories (~category~).
+
 These options can be applied to selected agenda views.  For more
 details about generation of agenda views, see the docstrings for the
 relevant variables, and this 
[[https://orgmode.org/worg/agenda-optimization.html][dedicated Worg page]] for 
agenda



[elpa] externals/pyim 9606d25f90: v5.2.0

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit 9606d25f906f802307eb1d8cb5fa458eec837b04
Author: Feng Shu 
Commit: Feng Shu 

v5.2.0
---
 pyim.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyim.el b/pyim.el
index 1ed0af8429..42381767b9 100644
--- a/pyim.el
+++ b/pyim.el
@@ -7,7 +7,7 @@
 ;; Feng Shu 
 ;; Maintainer: Feng Shu 
 ;; URL: https://github.com/tumashu/pyim
-;; Version: 5.1.0
+;; Version: 5.2.0
 ;; Keywords: convenience, Chinese, pinyin, input-method
 ;; Package-Requires: ((emacs "25.1") (async "1.6") (xr "1.13"))
 



[elpa] externals/tramp 3e0278ea59: Tramp ELPA version 2.5.3 released

2022-06-29 Thread ELPA Syncer
branch: externals/tramp
commit 3e0278ea5938092600a781947334d175a4e4b542
Author: Michael Albinus 
Commit: Michael Albinus 

Tramp ELPA version 2.5.3 released
---
 README  |  4 ++--
 test/tramp-tests.el | 12 +---
 texi/tramp.texi |  7 ---
 texi/trampver.texi  |  2 +-
 tramp-gvfs.el   | 15 +--
 tramp-smb.el|  7 +++
 tramp.el|  2 +-
 trampver.el |  8 +---
 8 files changed, 22 insertions(+), 35 deletions(-)

diff --git a/README b/README
index 95c732e3aa..c86430ecb4 100644
--- a/README
+++ b/README
@@ -22,11 +22,11 @@ installed with, you must recompile the package:
 
* Remove all byte-compiled Tramp files
 
-  $ rm -f ~/.emacs.d/elpa/tramp-2.5.2.5/tramp*.elc
+  $ rm -f ~/.emacs.d/elpa/tramp-2.5.3/tramp*.elc
 
* Start Emacs with Tramp's source files
 
-  $ emacs -L ~/.emacs.d/elpa/tramp-2.5.2.5 -l tramp
+  $ emacs -L ~/.emacs.d/elpa/tramp-2.5.3 -l tramp
 
  This should not give you the error.
 
diff --git a/test/tramp-tests.el b/test/tramp-tests.el
index 61fa6a5ae4..9071beedf2 100644
--- a/test/tramp-tests.el
+++ b/test/tramp-tests.el
@@ -2028,17 +2028,7 @@ Also see `ignore'."
  :type 'user-error)
 (should-error
  (expand-file-name "/method:user1@host1|ssh:user2@host2:/path/to/file")
- :type 'user-error))
-
-  ;; Samba does not support file names with periods followed by
-  ;; spaces, and trailing periods or spaces.
-  (when (tramp--test-smb-p)
-(dolist (file '("foo." "foo. bar" "foo "))
-  (should-error
-   (tramp-smb-get-localname
-   (tramp-dissect-file-name
-(expand-file-name file tramp-test-temporary-file-directory)))
-   :type 'file-error
+ :type 'user-error)))
 
 (ert-deftest tramp-test04-substitute-in-file-name ()
   "Check `substitute-in-file-name'."
diff --git a/texi/tramp.texi b/texi/tramp.texi
index 3e5c72244c..c1530e82ec 100644
--- a/texi/tramp.texi
+++ b/texi/tramp.texi
@@ -4985,13 +4985,6 @@ minibuffer:
   (before my-minibuffer-complete activate)
   (expand-abbrev))
 @end group
-
-@group
-;; If you use partial-completion-mode
-(defadvice PC-do-completion
-  (before my-PC-do-completion activate)
-  (expand-abbrev))
-@end group
 @end lisp
 
 The reduced typing: @kbd{C-x C-f xy @key{TAB}}.
diff --git a/texi/trampver.texi b/texi/trampver.texi
index bf8a943c05..580d9ba69e 100644
--- a/texi/trampver.texi
+++ b/texi/trampver.texi
@@ -8,7 +8,7 @@
 @c In the Tramp GIT, the version numbers are auto-frobbed from
 @c tramp.el, and the bug report address is auto-frobbed from
 @c configure.ac.
-@set trampver 2.5.2.5
+@set trampver 2.5.3
 @set trampurl https://www.gnu.org/software/tramp/
 @set tramp-bug-report-address tramp-devel@@gnu.org
 @set emacsver 25.1
diff --git a/tramp-gvfs.el b/tramp-gvfs.el
index 3a5041c491..4adc35bcb6 100644
--- a/tramp-gvfs.el
+++ b/tramp-gvfs.el
@@ -841,6 +841,8 @@ Operations not mentioned here will be handled by the 
default Emacs primitives.")
  (tramp-file-name-method (tramp-dissect-file-name filename
 (and (stringp method) (member method tramp-gvfs-methods)
 
+(defvar tramp-gvfs-dbus-event-vector)
+
 ;;;###tramp-autoload
 (defun tramp-gvfs-file-name-handler (operation &rest args)
   "Invoke the GVFS related OPERATION and ARGS.
@@ -848,7 +850,11 @@ First arg specifies the OPERATION, second arg is a list of
 arguments to pass to the OPERATION."
   (unless tramp-gvfs-enabled
 (tramp-user-error nil "Package `tramp-gvfs' not supported"))
-  (if-let ((fn (assoc operation tramp-gvfs-file-name-handler-alist)))
+  (if-let ((filename (apply #'tramp-file-name-for-operation operation args))
+   (tramp-gvfs-dbus-event-vector
+(and (tramp-tramp-file-p filename)
+ (tramp-dissect-file-name filename)))
+   (fn (assoc operation tramp-gvfs-file-name-handler-alist)))
   (save-match-data (apply (cdr fn) args))
 (tramp-run-real-handler operation args)))
 
@@ -942,7 +948,8 @@ The call will be traced by Tramp with trace level 6."
 (defvar tramp-gvfs-dbus-event-vector nil
   "Current Tramp file name to be used, as vector.
 It is needed when D-Bus signals or errors arrive, because there
-is no information where to trace the message.")
+is no information where to trace the message.
+Globally, the value shall always be nil; it is bound where needed.")
 
 (defun tramp-gvfs-dbus-event-error (event err)
   "Called when a D-Bus error message arrives, see 
`dbus-event-error-functions'."
@@ -2121,10 +2128,6 @@ connection if a previous connection has died for some 
reason."
   (unless (tramp-connectable-p vec)
 (throw 'non-essential 'non-essential))
 
-  ;; We set the file name, in case there are incoming D-Bus signals or
-  ;; D-Bus errors.
-  (setq tramp-gvfs-dbus-event-vector vec)
-
   ;; For password handling, we need a process bound to the connection
   ;; buffer.  Therefore, we create a dummy process.  Maybe there is a
   ;; better solution?
dif

[elpa] externals/tmr updated (aa521d5ce6 -> 7fae717b1b)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch externals/tmr.

  from  aa521d5ce6 Restore link to mailing list archive
   new  b1aa243d90 Fix completion table, handle null completion
   new  88a16c9ac5 Add tmr-remove for uniformity with other commands
   new  fb57e9163f Add tmr-confirm configuration option
   new  71f34405cb tmr--read-timer: Add PROMPT argument
   new  4ea7d30ef4 Update documentation to reflect current state
   new  323da8d075 Make the README.org metadata easier to read
   new  7fae717b1b Remove unused macros from README.org


Summary of changes:
 README.org   | 88 
 tmr-tabulated.el |  5 ++--
 tmr.el   | 74 ---
 3 files changed, 86 insertions(+), 81 deletions(-)



[elpa] externals/tmr 88a16c9ac5 2/7: Add tmr-remove for uniformity with other commands

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit 88a16c9ac51093b18fd90fc71b57ee8b86123908
Author: Daniel Mendler 
Commit: Protesilaos Stavrou 

Add tmr-remove for uniformity with other commands
---
 README.org   |  3 ++-
 tmr-tabulated.el |  5 +++--
 tmr.el   | 21 ++---
 3 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/README.org b/README.org
index 213ae654ac..27f4d9496b 100644
--- a/README.org
+++ b/README.org
@@ -324,7 +324,8 @@ Everything is in place to set up the package.
   (define-key map (kbd "C-c t k") #'tmr-cancel)
   (define-key map (kbd "C-c t s") #'tmr-reschedule)
   (define-key map (kbd "C-c t e") #'tmr-edit-description)
-  (define-key map (kbd "C-c t K") #'tmr-remove-finished))
+  (define-key map (kbd "C-c t r") #'tmr-remove)
+  (define-key map (kbd "C-c t R") #'tmr-remove-finished))
 #+end_src
 
 * Acknowledgements
diff --git a/tmr-tabulated.el b/tmr-tabulated.el
index 741788af32..2c7ac1e375 100644
--- a/tmr-tabulated.el
+++ b/tmr-tabulated.el
@@ -62,8 +62,9 @@
 
 (defvar tmr-tabulated-mode-map
   (let ((map (make-sparse-keymap)))
-(define-key map "k" #'tmr-cancel)
-(define-key map "K" #'tmr-remove-finished)
+(define-key map "k" #'tmr-remove)
+(define-key map "r" #'tmr-remove)
+(define-key map "R" #'tmr-remove-finished)
 (define-key map "+" #'tmr)
 (define-key map "t" #'tmr)
 (define-key map "*" #'tmr-with-description)
diff --git a/tmr.el b/tmr.el
index c70c0ea025..8b3167c26b 100644
--- a/tmr.el
+++ b/tmr.el
@@ -211,18 +211,25 @@ Populated by `tmr' and then operated on by `tmr-cancel'.")
 (defvar tmr--update-hook nil
   "Hooks to execute when timers are changed.")
 
+;;;###autoload
+(defun tmr-remove (timer)
+  "Cancel and remove TIMER object set with `tmr' command.
+Interactively, let the user choose which timer to cancel with
+completion."
+  (interactive (list (tmr--read-timer)))
+  (cancel-timer (tmr--timer-timer-object timer))
+  (setq tmr--timers (delete timer tmr--timers))
+  (run-hooks 'tmr--update-hook)
+  (run-hook-with-args 'tmr-timer-cancelled-functions timer))
+
 ;;;###autoload
 (defun tmr-cancel (timer)
   "Cancel TIMER object set with `tmr' command.
 Interactively, let the user choose which timer to cancel with
-completion."
+completion. This command is the same as `tmr-remove' but
+chooses only among active timers."
   (interactive (list (tmr--read-timer :active)))
-  (if (not timer)
-  (user-error "No `tmr' to cancel")
-(cancel-timer (tmr--timer-timer-object timer))
-(setq tmr--timers (delete timer tmr--timers))
-(run-hooks 'tmr--update-hook)
-(run-hook-with-args 'tmr-timer-cancelled-functions timer)))
+  (tmr-remove timer))
 
 ;;;###autoload
 (defun tmr-reschedule (timer)



[elpa] externals/tmr fb57e9163f 3/7: Add tmr-confirm configuration option

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit fb57e9163f4697c68db16b34a8aff5e5b50b2af2
Author: Daniel Mendler 
Commit: Protesilaos Stavrou 

Add tmr-confirm configuration option

- I prefer uniform behavior for one and multiple timers, in particular
  if destructive operations are involved.

- Setting tmr-confirm=t also helps Embark support if we use embark--restart.
  Without this setting if we we have two timers, invoke tmr-cancel, cancel 
the
  second via embark-act, then the restart of the command will also 
automatically
  cancel the second.

- The alternative would be to not add such an option and remove the special
  handling for single timers. But I see that some users may prefer the 
behavior
  enabled by tmr-confirm=nil.
---
 tmr.el | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/tmr.el b/tmr.el
index 8b3167c26b..3a6cc87010 100644
--- a/tmr.el
+++ b/tmr.el
@@ -67,6 +67,12 @@ If nil, don't play any sound."
   file
   (const :tag "Off" nil)))
 
+(defcustom tmr-confirm t
+  "Confirm timer operations.
+If set to nil and if there is only a single timer,
+the operation is performed without confirmation."
+  :type 'boolean)
+
 (defcustom tmr-timer-created-functions
   (list #'tmr-print-message-for-created-timer)
   "Functions to execute when a timer is created.
@@ -269,13 +275,12 @@ cancelling the original one."
 (format " (%s remaining)" (tmr--format-remaining timer
 
 (defun tmr--read-timer (&optional active)
-  "Let the user choose a timer among all timers.
-Return the selected timer.  If there is a single timer, use that.
-If there are multiple timers, prompt for one with completion.  If
-there are no timers, return nil.
+  "Let the user choose a timer among all (or ACTIVE) timers.
 
-If optional ACTIVE is non-nil, limit the list of timers to those
-that are still running."
+Return the selected timer. If there is a single timer and
+`tmr-confirm' is nil, use that. If there are multiple timers,
+prompt for one with completion. If there are no timers, throw an
+error."
   (or
(run-hook-with-args-until-success 'tmr--read-timer-hook)
(pcase
@@ -283,7 +288,7 @@ that are still running."
(seq-remove #'tmr--timer-finishedp tmr--timers)
  tmr--timers)
  ('nil (user-error "No timers available"))
- (`(,timer) timer)
+ ((and `(,timer) (guard (not tmr-confirm))) timer)
  (timers
   (let* ((timer-list (mapcar
   (lambda (x)



[elpa] externals/tmr 7fae717b1b 7/7: Remove unused macros from README.org

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit 7fae717b1b826de1094c64cf3d8a7fe34d546f6b
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Remove unused macros from README.org
---
 README.org | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/README.org b/README.org
index 484fc8126d..824ae1114e 100644
--- a/README.org
+++ b/README.org
@@ -7,9 +7,6 @@
 #+macro: stable-version 0.3.0
 #+macro: release-date 2022-05-17
 #+macro: development-version 0.4.0-dev
-#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
-#+macro: space @@texinfo:@: @@
-#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
 #+export_file_name:  tmr.texi
 #+texinfo_filename:  tmr.info
 #+texinfo_dir_category:  Emacs misc features



[elpa] externals/tmr b1aa243d90 1/7: Fix completion table, handle null completion

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit b1aa243d907090b2ea028a4fb50f0aed43ab2df5
Author: Daniel Mendler 
Commit: Protesilaos Stavrou 

Fix completion table, handle null completion
---
 tmr.el | 22 +-
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/tmr.el b/tmr.el
index 0626c9acd9..c70c0ea025 100644
--- a/tmr.el
+++ b/tmr.el
@@ -291,7 +291,8 @@ that are still running."
  timer-list 'tmr-timer #'tmr--timer-annotation)
 nil t)
timer-list
-(and selected (get-text-property 0 'tmr-timer selected)))
+(or (and selected (get-text-property 0 'tmr-timer selected))
+(user-error "No timer selected")))
 
 ;; NOTE 2022-04-21: Emacs has a `play-sound' function but it only
 ;; supports .wav and .au formats.  Also, it does not work on all
@@ -431,14 +432,17 @@ Without a PROMPT, clone TIMER outright."
(tmr--description-prompt (tmr--timer-description timer))
  (tmr--timer-description timer
 
-(defun tmr--completion-table (candidates &optional category)
-  "Return completion table for CANDIDATES of CATEGORY with sorting disabled."
-  (lambda (str pred action)
-(if (eq action 'metadata)
-`(metadata (display-sort-function . identity)
-   (cycle-sort-function . identity)
-   (category . ,category))
-  (complete-with-action action candidates str pred
+(defun tmr--completion-table (candidates &optional category annotation)
+  "Make completion table for CANDIDATES with sorting disabled.
+CATEGORY is the completion category.
+ANNOTATION is an annotation function."
+   (lambda (str pred action)
+ (if (eq action 'metadata)
+ `(metadata (display-sort-function . identity)
+(cycle-sort-function . identity)
+   (annotation-function . ,annotation)
+(category . ,category))
+   (complete-with-action action candidates str pred
 
 (provide 'tmr)
 ;;; tmr.el ends here



[elpa] externals/tmr 71f34405cb 4/7: tmr--read-timer: Add PROMPT argument

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit 71f34405cba4e435da95c28d514615350494f887
Author: Daniel Mendler 
Commit: Protesilaos Stavrou 

tmr--read-timer: Add PROMPT argument
---
 tmr.el | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/tmr.el b/tmr.el
index 3a6cc87010..f83fd28d0d 100644
--- a/tmr.el
+++ b/tmr.el
@@ -222,7 +222,7 @@ Populated by `tmr' and then operated on by `tmr-cancel'.")
   "Cancel and remove TIMER object set with `tmr' command.
 Interactively, let the user choose which timer to cancel with
 completion."
-  (interactive (list (tmr--read-timer)))
+  (interactive (list (tmr--read-timer "Remove timer: ")))
   (cancel-timer (tmr--timer-timer-object timer))
   (setq tmr--timers (delete timer tmr--timers))
   (run-hooks 'tmr--update-hook)
@@ -234,7 +234,7 @@ completion."
 Interactively, let the user choose which timer to cancel with
 completion. This command is the same as `tmr-remove' but
 chooses only among active timers."
-  (interactive (list (tmr--read-timer :active)))
+  (interactive (list (tmr--read-timer "Cancel timer: " :active)))
   (tmr-remove timer))
 
 ;;;###autoload
@@ -242,7 +242,7 @@ chooses only among active timers."
   "Reschedule TIMER.
 This is the same as cloning it, prompting for duration and
 cancelling the original one."
-  (interactive (list (tmr--read-timer)))
+  (interactive (list (tmr--read-timer "Reschedule timer: ")))
   (tmr-clone timer :prompt)
   (let (tmr-timer-cancelled-functions)
 (tmr-cancel timer)))
@@ -252,7 +252,7 @@ cancelling the original one."
   "Change TIMER description with that of DESCRIPTION."
   (interactive
(list
-(tmr--read-timer)
+(tmr--read-timer "Edit description of timer: ")
 (tmr--description-prompt)))
   (setf (tmr--timer-description timer) description)
   (run-hooks 'tmr--update-hook))
@@ -274,13 +274,13 @@ cancelling the original one."
   " (finished)"
 (format " (%s remaining)" (tmr--format-remaining timer
 
-(defun tmr--read-timer (&optional active)
+(defun tmr--read-timer (prompt &optional active)
   "Let the user choose a timer among all (or ACTIVE) timers.
 
 Return the selected timer. If there is a single timer and
 `tmr-confirm' is nil, use that. If there are multiple timers,
-prompt for one with completion. If there are no timers, throw an
-error."
+prompt for one with completion with PROMPT text. If there are no
+timers, throw an error."
   (or
(run-hook-with-args-until-success 'tmr--read-timer-hook)
(pcase
@@ -298,7 +298,7 @@ error."
   timers))
  (selected
   (car (member (completing-read
-"Timer: "
+prompt
 (tmr--completion-table
  timer-list 'tmr-timer #'tmr--timer-annotation)
 nil t)
@@ -434,7 +434,7 @@ argument, ask for a description as well.
 Without a PROMPT, clone TIMER outright."
   (interactive
(list
-(tmr--read-timer nil)
+(tmr--read-timer "Clone timer: ")
 current-prefix-arg))
   (tmr
(if prompt



[elpa] externals/tmr 323da8d075 6/7: Make the README.org metadata easier to read

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit 323da8d0759ca180ef98185b29460a18cb1f58c2
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make the README.org metadata easier to read
---
 README.org | 45 +
 1 file changed, 21 insertions(+), 24 deletions(-)

diff --git a/README.org b/README.org
index 2b293a0492..484fc8126d 100644
--- a/README.org
+++ b/README.org
@@ -1,27 +1,24 @@
-#+title: TMR May Ring
-#+author: Protesilaos Stavrou
-#+email: i...@protesilaos.com
-#+language: en
-#+options: ':t toc:nil author:t email:t num:t
-#+startup: content
-
-#+macro: stable-version 0.3.0
-#+macro: release-date 2022-05-17
-#+macro: development-version 0.4.0-dev
-#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
-#+macro: space @@texinfo:@: @@
-#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
-
-#+export_file_name: tmr.texi
-
-#+texinfo_filename: tmr.info
-#+texinfo_dir_category: Emacs misc features
-#+texinfo_dir_title: TMR May Ring: (tmr)
-#+texinfo_dir_desc: Set timers using a convenient notation
-#+texinfo_header: @set MAINTAINERSITE @uref{https://protesilaos.com,maintainer 
webpage}
-#+texinfo_header: @set MAINTAINER Protesilaos Stavrou
-#+texinfo_header: @set MAINTAINEREMAIL @email{i...@protesilaos.com}
-#+texinfo_header: @set MAINTAINERCONTACT 
@uref{mailto:i...@protesilaos.com,contact the maintainer}
+#+title: TMR May Ring
+#+author:Protesilaos Stavrou
+#+email: i...@protesilaos.com
+#+language:  en
+#+options:   ':t toc:nil author:t email:t num:t
+#+startup:   content
+#+macro: stable-version 0.3.0
+#+macro: release-date 2022-05-17
+#+macro: development-version 0.4.0-dev
+#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
+#+macro: space @@texinfo:@: @@
+#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
+#+export_file_name:  tmr.texi
+#+texinfo_filename:  tmr.info
+#+texinfo_dir_category:  Emacs misc features
+#+texinfo_dir_title: TMR May Ring: (tmr)
+#+texinfo_dir_desc:  Set timers using a convenient notation
+#+texinfo_header:@set MAINTAINERSITE 
@uref{https://protesilaos.com,maintainer webpage}
+#+texinfo_header:@set MAINTAINER Protesilaos Stavrou
+#+texinfo_header:@set MAINTAINEREMAIL @email{i...@protesilaos.com}
+#+texinfo_header:@set MAINTAINERCONTACT 
@uref{mailto:i...@protesilaos.com,contact the maintainer}
 
 This manual, written by Protesilaos Stavrou, describes the customization
 options for =tmr= (or TMR, TMR May Ring, ...), and provides every other



[elpa] externals/tmr 4ea7d30ef4 5/7: Update documentation to reflect current state

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit 4ea7d30ef4eb0aed0dff711d901d0f006d7bf854
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Update documentation to reflect current state
---
 README.org | 43 ++-
 tmr.el |  2 +-
 2 files changed, 19 insertions(+), 26 deletions(-)

diff --git a/README.org b/README.org
index 27f4d9496b..2b293a0492 100644
--- a/README.org
+++ b/README.org
@@ -112,14 +112,22 @@ is bound to =C-h e= by default.  To check all timers, use 
the command
 ~tmr-tabulated-view~, which has more features than the generic
 =*Messages*= buffer ([[#h:51fe78e0-d614-492b-b7a3-fb6d5bd52a9a][Grid view]]).
 
+[ The ~tmr-cancel~ has been reviewed as part of {{{development-version}}} ]
+
 #+findex: tmr-cancel
-The ~tmr-cancel~ command cancels running timers and erases them from the
-list of created timer objects.  If there is only one timer, it cancels
-it outright.  If there are multiple running timers, it produces a
-minibuffer completion prompt, asking for one among them.  Timers at the
-completion prompt are described by the exact time they were set and the
-input that was used to create them, including the optional description
-that ~tmr~ and ~tmr-with-description~ accept.
+The ~tmr-cancel~ command cancels running timers without erasesing them
+from the list of created timer objects.  If there is only one timer, it
+cancels it outright.  If there are multiple running timers, it produces
+a minibuffer completion prompt, asking for one among them.  Timers at
+the completion prompt are described by the exact time they were set and
+the input that was used to create them, including the optional
+description that ~tmr~ and ~tmr-with-description~ accept.
+
+[ The ~tmr-remove~ is introduced by {{{development-version}}} ]
+
+#+findex: tmr-remove
+This is like ~tmr-cancel~, except it is not limited to active timers: it
+can target elapsed ones as well.
 
 #+findex: tmr-clone
 The ~tmr-clone~ command directly copies the duration and optional
@@ -169,24 +177,9 @@ From the =*tmr-tabulated-view*= buffer, invoke the command
 applicable functionality, such as how to expand/contract columns and
 toggle their sort.
 
-While in this grid view, one can perform several operations on timers:
-
-[ Updated as part of {{{development-version}}} ]
-
-# If you are reading the Org source, the `tmr-with-description' is bound
-# to *.  The comma escapes the asterisk as it has a special meaning in
-# tables.
-| Key | Command  |
-|-+--|
-| t   | tmr  |
-| T   | tmr-with-description |
-| +   | tmr  |
-| ,*  | tmr-with-description |
-| c   | tmr-clone|
-| e   | tmr-edit-description |
-| s   | tmr-reschedule   |
-| k   | tmr-cancel   |
-| K   | tmr-remove-finished  |
+While in this grid view, one can perform all the operations on timers we
+have already covered herein (the =C-h m= will show you their key
+bindings in this mode).
 
 ** Hooks
 :PROPERTIES:
diff --git a/tmr.el b/tmr.el
index f83fd28d0d..b56d878de1 100644
--- a/tmr.el
+++ b/tmr.el
@@ -232,7 +232,7 @@ completion."
 (defun tmr-cancel (timer)
   "Cancel TIMER object set with `tmr' command.
 Interactively, let the user choose which timer to cancel with
-completion. This command is the same as `tmr-remove' but
+completion.  This command is the same as `tmr-remove' but
 chooses only among active timers."
   (interactive (list (tmr--read-timer "Cancel timer: " :active)))
   (tmr-remove timer))



[elpa] externals/tmr b6fca6505c 2/2: Clarify that Embark integration is part of DEV

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit b6fca6505c63fbb0023f2e9c290197382aaee460
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Clarify that Embark integration is part of DEV
---
 README.org | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.org b/README.org
index 375edd47e6..820877a9e9 100644
--- a/README.org
+++ b/README.org
@@ -320,6 +320,8 @@ Everything is in place to set up the package.
 :CUSTOM_ID: h:64711ce4-c023-4f6e-b9aa-b43942013423
 :END:
 
+[ Part of {{{development-version}}} ]
+
 The =embark= package provides standards-compliant infrastructure to run
 context-dependent actions on all sorts of targets (symbol at point,
 current completion candidate, etc.).  TMR is set up to make its timer



[elpa] externals/tmr f15579b58e 1/2: Add node about integration with Embark

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit f15579b58e8cc71fbfe6423e3a42df25f2c78415
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add node about integration with Embark

Using the code shared by Daniel Mendler on the mailing list[1] and the
Embark wiki.[2]

[1] 
https://lists.sr.ht/~protesilaos/tmr/%3cb80c3c89-c704-6f58-8e2d-d81c6aaf8...@daniel-mendler.de%3E#%3c73e34fe6-f41a-10ad-95fa-0bcfbe824...@daniel-mendler.de%3E
[2] 
https://github.com/oantolin/embark/wiki/Additional-Actions#actions-for-prots-tmr-tmr-may-ring
---
 README.org | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/README.org b/README.org
index 824ae1114e..375edd47e6 100644
--- a/README.org
+++ b/README.org
@@ -315,6 +315,36 @@ Everything is in place to set up the package.
   (define-key map (kbd "C-c t R") #'tmr-remove-finished))
 #+end_src
 
+* Integration with Embark
+:PROPERTIES:
+:CUSTOM_ID: h:64711ce4-c023-4f6e-b9aa-b43942013423
+:END:
+
+The =embark= package provides standards-compliant infrastructure to run
+context-dependent actions on all sorts of targets (symbol at point,
+current completion candidate, etc.).  TMR is set up to make its timer
+objects recognisable by Embark.  All the user needs is something like
+the following glue code:
+
+#+begin_src emacs-lisp
+(defvar tmr-action-map
+  (let ((map (make-sparse-keymap)))
+(define-key map "k" #'tmr-remove)
+(define-key map "r" #'tmr-remove)
+(define-key map "R" #'tmr-remove-finished)
+(define-key map "c" #'tmr-clone)
+(define-key map "e" #'tmr-edit-description)
+(define-key map "s" #'tmr-reschedule)
+map))
+
+(with-eval-after-load 'embark
+  (add-to-list 'embark-keymap-alist '(tmr-timer . tmr-action-map))
+  (cl-loop
+   for cmd the key-bindings of tmr-action-map
+   if (commandp cmd) do
+   (add-to-list 'embark-post-action-hooks (list cmd 'embark--restart
+#+end_src
+
 * Acknowledgements
 :PROPERTIES:
 :CUSTOM_ID: h:047ecc52-ca02-4424-a037-c5b6a02383de



[elpa] externals/org ea05f43435: * lisp/org-install.el: Delete file

2022-06-29 Thread ELPA Syncer
branch: externals/org
commit ea05f43435378aa7f4d9ba13a930c87343ac5617
Author: Stefan Kangas 
Commit: Ihor Radchenko 

* lisp/org-install.el: Delete file

See: 
---
 lisp/org-install.el | 17 -
 1 file changed, 17 deletions(-)

diff --git a/lisp/org-install.el b/lisp/org-install.el
deleted file mode 100644
index d521d819db..00
--- a/lisp/org-install.el
+++ /dev/null
@@ -1,17 +0,0 @@
-;;; org-install.el --- backward compatibility file for obsolete configuration  
-*- lexical-binding: t -*-
-;;
-;;; Code:
-;;
-;; The file org-install is obsolete.
-;;
-;; It is provided here so that (require 'org-install) does not
-;; trigger an error for users with obsolete Emacs configuration.
-;; You can safely remove (require 'org-install) from your config."
-
-(provide 'org-install)
-
-;; Local Variables:
-;; no-byte-compile: t
-;; coding: utf-8
-;; End:
-;;; org-install.el ends here



[elpa] externals/tmr e6b128f462 4/4: Placate the compiler about the use of single quote

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit e6b128f462feec1d78b9c90b09ac2c7e13eaca43
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Placate the compiler about the use of single quote

Why is this even a "warning"?  It adds noise to the linter as I now need
to double-check what is a legit warning.
---
 tmr.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tmr.el b/tmr.el
index 2d4ea4fadf..5d028fe471 100644
--- a/tmr.el
+++ b/tmr.el
@@ -319,7 +319,7 @@ timers, throw an error."
 ;; supports .wav and .au formats.  Also, it does not work on all
 ;; platforms and Emacs needs to be compiled --with-sound capabilities.
 (defun tmr-sound-play (&optional _timer)
-  "Play `tmr-sound-file' using the 'ffplay' executable (ffmpeg).
+  "Play `tmr-sound-file' using the ffplay executable (ffmpeg).
 TIMER is unused."
   (when-let ((sound tmr-sound-file)
  ((file-exists-p sound)))
@@ -387,8 +387,8 @@ If optional DEFAULT is provided use it as a default 
candidate."
 
 When TIME is a number, it is interpreted as a count of minutes.
 Otherwise TIME must be a string that consists of a number and a
-special final character denoting a unit of time: 'h' for 'hours',
-'s' for 'seconds'.
+special final character denoting a unit of time: h for hours, s
+for seconds.
 
 With optional DESCRIPTION as a prefix (\\[universal-argument]),
 prompt for a description among `tmr-description-list', though



[elpa] externals/tmr updated (7fae717b1b -> b6fca6505c)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch externals/tmr.

  from  7fae717b1b Remove unused macros from README.org
   new  f15579b58e Add node about integration with Embark
   new  b6fca6505c Clarify that Embark integration is part of DEV


Summary of changes:
 README.org | 32 
 1 file changed, 32 insertions(+)



[elpa] externals/tmr f2fd2f9ae7 2/4: Document absolute time support

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit f2fd2f9ae76b972ccb234fb65990e4487f8947ca
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Document absolute time support
---
 README.org | 5 +
 1 file changed, 5 insertions(+)

diff --git a/README.org b/README.org
index 820877a9e9..13467bbe71 100644
--- a/README.org
+++ b/README.org
@@ -82,6 +82,11 @@ The input can be a floating point:
 | 1.5   | 1.5 minutes (90 seconds) |
 | 1.5h  | 1.5 hours (90 minutes)   |
 
+The input can also be an absolute time, such as =16:00= or =16:00:30=.
+It sets a timer from present time until the one specified.
+
+[ Absolute time support is part of {{{development-version}}} ]
+
 If ~tmr~ is called with an optional prefix argument (=C-u= with default
 key bindings), it asks for a description to be associated with the given
 timer.



[elpa] externals/tmr ed192cfb9b 1/4: Strict parsing, support specifying absolute time, e.g., 15:00

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit ed192cfb9b09405d24a68cee143f96da1f2096a9
Author: Daniel Mendler 
Commit: Protesilaos Stavrou 

Strict parsing, support specifying absolute time, e.g., 15:00
---
 tmr.el | 53 +++--
 1 file changed, 31 insertions(+), 22 deletions(-)

diff --git a/tmr.el b/tmr.el
index b56d878de1..ba62d2fe9b 100644
--- a/tmr.el
+++ b/tmr.el
@@ -142,9 +142,12 @@ Each function must accept a timer as argument."
 ;; enough to be used when starting a timer but also when cancelling
 ;; one: check `tmr-print-message-for-created-timer' and
 ;; `tmr-print-message-for-cancelled-timer'.
-(format "TMR start %s; end %s; duration %s%s"
+(format "TMR start %s; end %s; %s %s%s"
 (propertize start 'face 'success)
 (propertize end 'face 'error)
+(if (string-match-p ":" (tmr--timer-input timer))
+"until"
+  "duration")
 (tmr--timer-input timer)
 (if description
 (format " [%s]" (propertize description 'face 'bold))
@@ -189,26 +192,32 @@ optional `tmr--timer-description'."
   "Return a human-readable string representing TIME."
   (format-time-string "%T" time))
 
-(defun tmr--unit (time)
-  "Determine common time unit for TIME."
-  (cond
-   ((and (stringp time)
- (string-match-p "[0-9]\\'" time))
-(let ((time (string-to-number time)))
-  (* time 60)))
-   ((natnump time)
-(* time 60))
-   (t
-(let* ((unit (substring time -1))
-   (str (substring time 0 -1))
-   (num (abs (string-to-number str
-  (pcase unit
-("s" num)
-("h" (* num 60 60))
-;; This is not needed, of course, but we should not miss a good
-;; chance to make some fun of ourselves.
-("w" (user-error "TMR Made Ridiculous; append character for [m]inutes, 
[h]ours, [s]econds"))
-(_ (* num 60)))
+(defun tmr--unit (now time)
+  "Determine common time unit for TIME given current time NOW."
+  (save-match-data
+(cond
+ ((natnump time)
+  (* time 60))
+ ((and (stringp time) (string-match-p "\\`[0-9]+\\(?:\\.[0-9]+\\)?\\'" 
time))
+  (* (string-to-number time) 60))
+ ((and (stringp time) (string-match 
"\\`\\([0-9]+\\):\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?\\'" time))
+  (let ((val (decode-time now)))
+(setf (decoded-time-hour val) (string-to-number (match-string 1 time))
+  (decoded-time-minute val) (string-to-number (match-string 2 
time))
+  (decoded-time-second val) (if (match-end 3)
+(string-to-number (match-string 3 
time))
+  0)
+  val (encode-time val))
+(when (time-less-p val now)
+  (user-error "Time %s is already over" time))
+(ceiling (float-time (time-subtract val now)
+ ((and (stringp time) (string-match 
"\\`\\([0-9]+\\(?:\\.[0-9]+\\)?\\)[mhs]\\'" time))
+  (let ((num (string-to-number (match-string 1 time
+(pcase (aref time (1- (length time)))
+  (?s num)
+  (?h (* num 60 60))
+  (?m (* num 60)
+ (t (user-error "TMR Made Ridiculous; append character for [m]inutes, 
[h]ours, [s]econds")
 
 (defvar tmr--timers nil
   "List of timer objects.
@@ -396,7 +405,7 @@ command `tmr-with-description' instead of this one."
 (tmr--read-duration)
 (when current-prefix-arg (tmr--description-prompt
   (let* ((creation-date (current-time))
- (duration (tmr--unit time))
+ (duration (tmr--unit creation-date time))
  (timer (tmr--timer-create
  :description description
  :creation-date creation-date



[elpa] externals/tmr 1b5b2e766a 3/4: Placate the compiler about double spaces

2022-06-29 Thread ELPA Syncer
branch: externals/tmr
commit 1b5b2e766a6240982de93a2f2c448b2cbfbdc67f
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Placate the compiler about double spaces
---
 tmr.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tmr.el b/tmr.el
index ba62d2fe9b..2d4ea4fadf 100644
--- a/tmr.el
+++ b/tmr.el
@@ -286,9 +286,9 @@ cancelling the original one."
 (defun tmr--read-timer (prompt &optional active)
   "Let the user choose a timer among all (or ACTIVE) timers.
 
-Return the selected timer. If there is a single timer and
-`tmr-confirm' is nil, use that. If there are multiple timers,
-prompt for one with completion with PROMPT text. If there are no
+Return the selected timer.  If there is a single timer and
+`tmr-confirm' is nil, use that.  If there are multiple timers,
+prompt for one with completion with PROMPT text.  If there are no
 timers, throw an error."
   (or
(run-hook-with-args-until-success 'tmr--read-timer-hook)



[elpa] externals/tmr updated (b6fca6505c -> e6b128f462)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch externals/tmr.

  from  b6fca6505c Clarify that Embark integration is part of DEV
   new  ed192cfb9b Strict parsing, support specifying absolute time, e.g., 
15:00
   new  f2fd2f9ae7 Document absolute time support
   new  1b5b2e766a Placate the compiler about double spaces
   new  e6b128f462 Placate the compiler about the use of single quote


Summary of changes:
 README.org |  5 +
 tmr.el | 65 +++---
 2 files changed, 42 insertions(+), 28 deletions(-)



[elpa] externals/org 30953bd7b7: ox-latex: Pass on custom-env with src blocks

2022-06-29 Thread ELPA Syncer
branch: externals/org
commit 30953bd7b701c870152cd60f52f2d484970caeb9
Author: TEC 
Commit: TEC 

ox-latex: Pass on custom-env with src blocks

* lisp/ox-latex.el (org-latex-src-block): Fix an earlier oversight where
the custom environment was not passed on from `org-latex-src-block' to
`org-latex-src-block--custom'.
---
 lisp/ox-latex.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index 32b48a4839..4de89bc785 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -3286,7 +3286,8 @@ contextual information."
:num-start num-start
:retain-labels retain-labels
:attributes attributes
-   :float float
+   :float float
+   :custom-env custom-env
 
 (cl-defun org-latex-src-block--verbatim
 (&key src-block info caption caption-above-p float &allow-other-keys)



[nongnu] elpa/shellcop 7ef2a98e4a 1/2: fixed line splitting

2022-06-29 Thread ELPA Syncer
branch: elpa/shellcop
commit 7ef2a98e4adbc50a92f191b8d44b485ccd3138b0
Author: Chen Bin 
Commit: Chen Bin 

fixed line splitting
---
 shellcop.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/shellcop.el b/shellcop.el
index 39d3214931..7ede759f38 100644
--- a/shellcop.el
+++ b/shellcop.el
@@ -406,7 +406,7 @@ Or else erase current buffer."
;; line's format: "dir | score | timestamp"
(let* ((a (split-string line "|")))
  (cons (nth 0 a) (string-to-number (nth 2 a)
- (split-string (string-trim content)
+ (split-string (string-trim content) "[\n\r]+"
 
   ;; sort by timestamp in descending order
   (setq dirs (sort dirs (lambda (a b) (> (cdr a) (cdr b)



[nongnu] elpa/shellcop updated (4e71f5b919 -> 3f051e4228)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch elpa/shellcop.

  from  4e71f5b919 compile is part of CI
   new  7ef2a98e4a fixed line splitting
   new  3f051e4228 detect two lines error in shell


Summary of changes:
 shellcop.el | 64 +
 1 file changed, 47 insertions(+), 17 deletions(-)



[nongnu] elpa/shellcop 3f051e4228 2/2: detect two lines error in shell

2022-06-29 Thread ELPA Syncer
branch: elpa/shellcop
commit 3f051e42288ddfe4cd7cd0ee62efad90227de24b
Author: Chen Bin 
Commit: Chen Bin 

detect two lines error in shell
---
 shellcop.el | 62 +
 1 file changed, 46 insertions(+), 16 deletions(-)

diff --git a/shellcop.el b/shellcop.el
index 7ede759f38..652f88816b 100644
--- a/shellcop.el
+++ b/shellcop.el
@@ -114,23 +114,51 @@ If there is error, it returns t."
 
 (defvar shellcop-debug nil "Enable debug output if not nil.")
 
-(defun shellcop-location-detail (str)
-  "Get file, line and column from STR."
-  (when shellcop-debug (message "shellcop-location-details (%s)" str))
-  (when (string-match "^\\([^:]+\\):\\([0-9]+\\)+\\(:[0-9]+\\)?" str)
-(let* ((file (match-string 1 str))
-   (line (match-string 2 str))
-   (col (match-string 3 str)))
+(defun shellcop-next-line ()
+  "Content of next line."
+  (save-excursion
+(forward-line 1)
+(string-trim (buffer-substring (line-beginning-position)
+   (line-end-position)
+
+(defun shellcop-location-detail ()
+  "Get file, line and column from at point."
+  (let* (rlt
+ (str (thing-at-point 'filename))
+ file
+ line
+ col
+ next-line)
+
+(cond
+ ((not str))
+
+ ((string-match "^\\([^:]+\\):\\([0-9]+\\)+\\(:[0-9]+\\)?" str)
+  (setq file (match-string 1 str))
+  (setq line (match-string 2 str))
+  (setq col (match-string 3 str)))
+
+ ((and (setq next-line (shellcop-next-line))
+   (file-exists-p str)
+   (string-match "^\\([0-9]+\\)+\\(:[0-9]+\\)?" next-line))
+
+  (setq file str)
+  (setq line (match-string 1 next-line))
   ;; clean the column format
-  (when col
-(setq col (replace-regexp-in-string ":" "" col)))
-  (when shellcop-debug (message "file=%s line=%s col=%s" file line col))
-  (list file line col
+  (when (setq col (match-string 2 next-line))
+(setq col (replace-regexp-in-string ":" "" col)
+
+(when (and file line)
+  (setq rlt (list file line col)))
+
+(when shellcop-debug
+  (message "shellcop-location-details str=%s file=%s line=%s col=%s"
+   str file line col))
+rlt))
 
 (defun shellcop-extract-location ()
   "Extract location from current line."
-  (let* (file
- (end (line-end-position))
+  (let* ((end (line-end-position))
  rlt)
 (save-excursion
   (goto-char (line-beginning-position))
@@ -138,10 +166,12 @@ If there is error, it returns t."
   ;; return the first found
   (while (and (< (point) end) (not rlt))
 ;; searching
-(when (setq file (thing-at-point 'filename))
-  (when (setq rlt (shellcop-location-detail file))
-(setq rlt (cons (string-trim (shellcop-current-line)) rlt
+(when (setq rlt (shellcop-location-detail))
+  (setq rlt (cons (string-trim (shellcop-current-line)) rlt))
+  (forward-line))
 (forward-word)))
+(when shellcop-debug
+  (message "shellcop-extract-location called. rlt=%s" rlt))
 rlt))
 
 (defmacro shellcop-push-location (location result)



[nongnu] elpa/tuareg updated (3fdf4f2869 -> b93890a877)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch elpa/tuareg.

  from  3fdf4f2869 Merge commit 'refs/pull/276/head' of 
https://github.com/ocaml/tuareg into elpa/tuareg
   new  049ac7131c Don't traverse entire /Applications in search of Aquamacs
   new  f4adda7090 Use matched single quotes to avoid Emacs 29 warnings
   new  b93890a877 Avoid speedbar warning; avoid eager speedbar loading


Summary of changes:
 Makefile  | 5 +
 tuareg.el | 9 -
 2 files changed, 5 insertions(+), 9 deletions(-)



[nongnu] elpa/tuareg b93890a877 3/3: Avoid speedbar warning; avoid eager speedbar loading

2022-06-29 Thread ELPA Syncer
branch: elpa/tuareg
commit b93890a87700ec6bbf73e6afa1c6a3213be14a00
Author: Mattias Engdegård 
Commit: Stefan Monnier 

Avoid speedbar warning; avoid eager speedbar loading
---
 tuareg.el | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/tuareg.el b/tuareg.el
index 31cb592a74..fec5fd229c 100644
--- a/tuareg.el
+++ b/tuareg.el
@@ -4100,11 +4100,10 @@ See `imenu-create-index-function'."
 ;;;
 ;;  Related files & modes
 
-(eval-when-compile
-  (autoload 'speedbar-add-supported-extension "speedbar")
-  (defvar speedbar-obj-alist))
+(with-eval-after-load 'speedbar
+  (declare-function speedbar-add-supported-extension "speedbar" (extension))
+  (defvar speedbar-obj-alist)
 
-(when (require 'speedbar nil t)
   (speedbar-add-supported-extension
'(".ml" ".mli" ".mll" ".mly" ".mlp" ".ls"))
   (push '("\\.mli\\'" . ".cmi") speedbar-obj-alist)



[nongnu] elpa/tuareg f4adda7090 2/3: Use matched single quotes to avoid Emacs 29 warnings

2022-06-29 Thread ELPA Syncer
branch: elpa/tuareg
commit f4adda709072f377fba0e7ee62dbce979a596867
Author: Mattias Engdegård 
Commit: Mattias Engdegård 

Use matched single quotes to avoid Emacs 29 warnings
---
 tuareg.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tuareg.el b/tuareg.el
index aaf2c26849..31cb592a74 100644
--- a/tuareg.el
+++ b/tuareg.el
@@ -194,7 +194,7 @@ instead of the historical `tuareg-default-indent'."
 (defcustom tuareg-with-indent 0
   "*How many spaces to indent from a `with' keyword.
 The examples at 
-show the '|' is aligned with 'match', thus 0 is the default value."
+show the `|' is aligned with `match', thus 0 is the default value."
   :group 'tuareg :type 'integer)
 
 (defcustom tuareg-match-clause-indent 1



[nongnu] elpa/tuareg 049ac7131c 1/3: Don't traverse entire /Applications in search of Aquamacs

2022-06-29 Thread ELPA Syncer
branch: elpa/tuareg
commit 049ac7131c1b015b8e40c4c44cbc77b5e10b7167
Author: Mattias Engdegård 
Commit: Mattias Engdegård 

Don't traverse entire /Applications in search of Aquamacs

Doing that for each invokation of `make` is decidedly annoying.
---
 Makefile | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 7993c72f8f..dd8f77fd15 100644
--- a/Makefile
+++ b/Makefile
@@ -20,21 +20,18 @@ DIST_FILES += $(ELS) Makefile README.md tuareg.install
 
 EMACSFORMACOSX = /Applications/Emacs.app/Contents/MacOS/Emacs
 EMACSMACPORTS = /Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs
-AQUAMACS = $(shell test -d /Applications \
-   && find /Applications -type f | grep 'Aquamacs$$')
+AQUAMACS = /Applications/Aquamacs.app/Contents/MacOS/Aquamacs
 ifeq ($(wildcard $(EMACSFORMACOSX)),$(EMACSFORMACOSX))
 EMACS ?= $(EMACSFORMACOSX)
 else
 ifeq ($(wildcard $(EMACSMACPORTS)),$(EMACSMACPORTS))
 EMACS ?= $(EMACSMACPORTS)
 else
-ifneq ($(strip $(AQUAMACS)),)
 ifeq ($(wildcard $(AQUAMACS)),$(AQUAMACS))
 EMACS ?= $(AQUAMACS)
 endif
 endif
 endif
-endif
 EMACS ?= emacs
 
 RM ?= rm -f



[nongnu] elpa/helm 990c939a0a 1/3: Allow toggling details in helm-apropos

2022-06-29 Thread ELPA Syncer
branch: elpa/helm
commit 990c939a0abe3a92c74ede57ac2eadcacf40e443
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Allow toggling details in helm-apropos
---
 helm-elisp.el | 60 ---
 1 file changed, 41 insertions(+), 19 deletions(-)

diff --git a/helm-elisp.el b/helm-elisp.el
index ed892ea123..69064b6825 100644
--- a/helm-elisp.el
+++ b/helm-elisp.el
@@ -507,6 +507,12 @@ from `helm-commands-using-frame'."
   :group 'helm-elisp
   :type 'boolean)
 
+(defvar helm-apropos-map
+  (let ((map (make-sparse-keymap)))
+(set-keymap-parent map helm-map)
+(define-key map (kbd "C-]") 'helm-apropos-toggle-details)
+map))
+
 (defun helm-apropos-init (test default &optional fn)
   "Setup `helm-candidate-buffer' for `helm-apropos' sources.
 A list of symbols fetched with FN is inserted in
@@ -523,20 +529,22 @@ is only used to test DEFAULT."
 symbols
 
 (defun helm-apropos-short-doc-transformer (candidates _source)
-  (cl-loop with max-len = (buffer-local-value 
'helm-candidate-buffer-longest-len
-  (get-buffer 
(helm-candidate-buffer)))
-   for cand in candidates
-   for doc = (helm-get-first-line-documentation (intern-soft cand))
-   collect (cons (format "%s%s%s"
- cand
- (if doc
- (make-string (+ 1 (if (zerop max-len)
-   max-len
- (- max-len 
(string-width cand
-  ? )
-   "")
- (if doc (propertize doc 'face 
'helm-M-x-short-doc) ""))
- cand)))
+  (if helm-apropos-show-short-doc
+  (cl-loop with max-len = (buffer-local-value 
'helm-candidate-buffer-longest-len
+  (get-buffer 
(helm-candidate-buffer)))
+   for cand in candidates
+   for doc = (helm-get-first-line-documentation (intern-soft cand))
+   collect (cons (format "%s%s%s"
+ cand
+ (if doc
+ (make-string (+ 1 (if (zerop max-len)
+   max-len
+ (- max-len 
(string-width cand
+  ? )
+   "")
+ (if doc (propertize doc 'face 
'helm-M-x-short-doc) ""))
+ cand))
+candidates))
 
 (defun helm-apropos-default-sort-fn (candidates _source)
   (if (string= helm-pattern "")
@@ -610,13 +618,13 @@ is only used to test DEFAULT."
 (delq nil (list (and (null helm-apropos-fuzzy-match)
  'helm-apropos-default-sort-fn)
 (and (null (memq 'helm-apropos helm-commands-using-frame))
- helm-apropos-show-short-doc
  #'helm-apropos-short-doc-transformer)))
 :nomark t
 :persistent-action (lambda (candidate)
  (helm-elisp--persistent-help
   candidate 'helm-describe-variable))
 :persistent-help "Toggle describe variable"
+:keymap helm-apropos-map
 :action '(("Describe variable" . helm-describe-variable)
   ("Find variable" . helm-find-variable)
   ("Info lookup" . helm-info-lookup-symbol)
@@ -637,12 +645,12 @@ is only used to test DEFAULT."
  (cl-loop for c in candidates
   collect (propertize c 'face (intern c
(and (null (memq 'helm-apropos helm-commands-using-frame))
-helm-apropos-show-short-doc
 #'helm-apropos-short-doc-transformer)))
 :persistent-action (lambda (candidate)
  (helm-elisp--persistent-help
   candidate 'helm-describe-face))
 :persistent-help "Toggle describe face"
+:keymap helm-apropos-map
 :action '(("Describe face" . helm-describe-face)
   ("Find face" . helm-find-face-definition)
   ("Customize face" . (lambda (candidate)
@@ -664,6 +672,7 @@ is only used to test DEFAULT."
  (helm-elisp--persistent-help
   candidate 'helm-describe-function))
 :persistent-help "Toggle describe command"
+:keymap helm-apropos-map
 :action 'helm-type-function-actions))
 
 (defun helm-def-source--emacs-functions (&optional default)
@@ -680,13 +689,13 @@ is only used to test DEFAULT."
 (delq nil (list (and (null helm-apropos-fuzzy-match)
  'helm-apropos-default-sort-fn)
  

[nongnu] elpa/helm 99c0362c2b 3/3: Use *force-update in toggle details fns

2022-06-29 Thread ELPA Syncer
branch: elpa/helm
commit 99c0362c2bb879df44f224d0add69a7434447d48
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Use *force-update in toggle details fns
---
 helm-command.el | 2 +-
 helm-elisp.el   | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/helm-command.el b/helm-command.el
index 4e86124f88..9b5c070241 100644
--- a/helm-command.el
+++ b/helm-command.el
@@ -125,7 +125,7 @@ Return nil if no mode-map found."
   "Toggle short doc display in helm-M-x."
   (interactive)
   (setq helm-M-x-show-short-doc (not helm-M-x-show-short-doc))
-  (helm-update (concat "^" (helm-get-selection)) (helm-get-current-source)))
+  (helm-force-update (concat "^" (helm-get-selection)) 
(helm-get-current-source)))
 (put 'helm-M-x-toggle-short-doc 'no-helm-mx t)
 
 (defun helm-M-x-transformer-1 (candidates &optional sort ignore-props)
diff --git a/helm-elisp.el b/helm-elisp.el
index 4b9b7d9311..ce8087991e 100644
--- a/helm-elisp.el
+++ b/helm-elisp.el
@@ -791,8 +791,8 @@ is only used to test DEFAULT."
 (unless (memq 'helm-apropos helm-commands-using-frame)
   (setq helm-M-x-show-short-doc (not helm-M-x-show-short-doc)
 helm-apropos-show-short-doc (not helm-apropos-show-short-doc))
-  (helm-update (concat "^" (helm-stringify (helm-get-selection)))
-   (helm-get-current-source)
+  (helm-force-update (concat "^" (helm-stringify (helm-get-selection)))
+ (helm-get-current-source)
 
 ;;;###autoload
 (defun helm-apropos (default)



[nongnu] elpa/helm 213ee16d53 2/3: Use pcase for helm-stringify and use it in helm-elisp

2022-06-29 Thread ELPA Syncer
branch: elpa/helm
commit 213ee16d53613f55d1c601c263ad6512832e697a
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Use pcase for helm-stringify and use it in helm-elisp
---
 helm-elisp.el | 5 +
 helm-lib.el   | 8 
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/helm-elisp.el b/helm-elisp.el
index 69064b6825..4b9b7d9311 100644
--- a/helm-elisp.el
+++ b/helm-elisp.el
@@ -791,10 +791,7 @@ is only used to test DEFAULT."
 (unless (memq 'helm-apropos helm-commands-using-frame)
   (setq helm-M-x-show-short-doc (not helm-M-x-show-short-doc)
 helm-apropos-show-short-doc (not helm-apropos-show-short-doc))
-  (helm-update (concat "^" (pcase (helm-get-selection)
- ((and (pred stringp) str) str)
- ((and (pred symbolp) sym)
-  (symbol-name sym
+  (helm-update (concat "^" (helm-stringify (helm-get-selection)))
(helm-get-current-source)
 
 ;;;###autoload
diff --git a/helm-lib.el b/helm-lib.el
index 565db187af..d337a46730 100644
--- a/helm-lib.el
+++ b/helm-lib.el
@@ -1045,10 +1045,10 @@ Examples:
 (defun helm-stringify (elm)
   "Return the representation of ELM as a string.
 ELM can be a string, a number or a symbol."
-  (cl-typecase elm
-(string elm)
-(number (number-to-string elm))
-(symbol (symbol-name elm
+  (pcase elm
+((pred stringp) elm)
+((pred numberp) (number-to-string elm))
+((pred symbolp) (symbol-name elm
 
 (defun helm-substring (str width)
   "Return the substring of string STR from 0 to WIDTH.



[nongnu] elpa/helm updated (7cd4a46315 -> 99c0362c2b)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm.

  from  7cd4a46315 Fix helm-occur transformer issue #2526
   new  990c939a0a Allow toggling details in helm-apropos
   new  213ee16d53 Use pcase for helm-stringify and use it in helm-elisp
   new  99c0362c2b Use *force-update in toggle details fns


Summary of changes:
 helm-command.el |  2 +-
 helm-elisp.el   | 57 ++---
 helm-lib.el |  8 
 3 files changed, 43 insertions(+), 24 deletions(-)



[nongnu] elpa/helm-core updated (7cd4a46315 -> 99c0362c2b)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  7cd4a46315 Fix helm-occur transformer issue #2526
  adds  990c939a0a Allow toggling details in helm-apropos
  adds  213ee16d53 Use pcase for helm-stringify and use it in helm-elisp
  adds  99c0362c2b Use *force-update in toggle details fns

No new revisions were added by this update.

Summary of changes:
 helm-command.el |  2 +-
 helm-elisp.el   | 57 ++---
 helm-lib.el |  8 
 3 files changed, 43 insertions(+), 24 deletions(-)



[elpa] elpa-admin 22318be972: Render Org documentation in a plain-text README-elpa file

2022-06-29 Thread Philip Kaludercic
branch: elpa-admin
commit 22318be972d2a2971b152117993790ab0ed669f9
Author: Philip Kaludercic 
Commit: Philip Kaludercic 

Render Org documentation in a plain-text README-elpa file

* elpa-admin.el (elpaa--make-one-tarball-1): Call elpaa--write-plain-readme.
(elpaa--write-plain-readme): Add new function.
(elpaa--html-make-pkg): Reuse the rendered plaintext from
`elpaa--write-plain-readme'.
---
 elpa-admin.el | 33 +
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git a/elpa-admin.el b/elpa-admin.el
index 58c0ec2e0a..241f39ef08 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -610,7 +610,8 @@ auxillary files unless TARBALL-ONLY is non-nil ."
   (lambda (file)
 (string-match re file)
 (cons (match-string 1 file) file))
-  (directory-files destdir nil re)
+  (directory-files destdir nil re
+  rendered)
  (when ldir
(cl-pushnew (list (file-name-as-directory ldir) "") renames
:test #'equal))
@@ -621,6 +622,7 @@ auxillary files unless TARBALL-ONLY is non-nil ."
(elpaa--make pkg-spec dir)
(elpaa--build-Info pkg-spec dir destdir))
  (elpaa--write-pkg-file dir pkgname metadata revision)
+ (setq rendered (elpaa--write-plain-readme dir pkg-spec))
  ;; FIXME: Allow renaming files or selecting a subset of the files!
  (cl-assert (not (string-match "[][*\\|?]" pkgname)))
  (cl-assert (not (string-match "[][*\\|?]" vers)))
@@ -677,7 +679,7 @@ auxillary files unless TARBALL-ONLY is non-nil ."
(elpaa--html-make-pkg pkgdesc pkg-spec
  `((,vers . ,(file-name-nondirectory tarball))
. ,oldtarballs)
- dir
+ dir rendered
  'new)))
 
 (defun elpaa--makeenv (version revision)
@@ -1162,6 +1164,29 @@ Rename DIR/ to PKG-VERS/, and return the descriptor."
  nil
  pkg-file)))
 
+(defun elpaa--write-plain-readme (pkg-dir pkg-spec)
+  "Render a plain text readme from PKG-SPEC in PKG-DIR.
+This is only done if necessary, that is if the readme contents
+are not already taken to be formatted in plain text or when the
+readme file has an unconventional name"
+  (let ((readme-content (elpaa--get-README pkg-spec pkg-dir)))
+(cond
+ ((eq (car readme-content) 'text/x-org)
+  (let ((rendered (elpaa--section-to-plain-text readme-content)))
+(write-region rendered nil (expand-file-name "README-elpa" pkg-dir))
+rendered))
+ ((let* ((readme-file (elpaa--spec-get pkg-spec :readme))
+ (known-readme-names;see `package--get-description'
+  '("README-elpa"
+"README-elpa.md"
+"README"
+"README.rst"
+"README.org")))
+(when (and readme-file (not (member readme-file known-readme-names)))
+  (make-symbolic-link "README-elpa" readme-file)
+  (cdr readme-content
+ ((cdr readme-content)
+
 (defun elpaa-batch-generate-description-file (&rest _)
   "(Re)build the -pkg.el file for particular packages."
   (while command-line-args-left
@@ -1489,7 +1514,7 @@ arbitrary code."
  ))
   (insert "\n"
 
-(defun elpaa--html-make-pkg (pkg pkg-spec files srcdir)
+(defun elpaa--html-make-pkg (pkg pkg-spec files srcdir plain-readme)
   (let* ((name (symbol-name (car pkg)))
  (latest (package-version-join (aref (cdr pkg) 0)))
  (mainsrcfile (expand-file-name (elpaa--main-file pkg-spec) srcdir))
@@ -1542,7 +1567,7 @@ arbitrary code."
M-x package-install RET 
%s RET"
   name))
   (let* ((readme-content (elpaa--get-README pkg-spec srcdir))
- (readme-text (elpaa--section-to-plain-text readme-content))
+ (readme-text plain-readme)
  (readme-html (elpaa--section-to-html readme-content))
  (readme-output-filename (concat name "-readme.txt")))
 (write-region readme-text nil readme-output-filename)



[elpa] externals/org-modern 9ad8b7e20b: README update

2022-06-29 Thread ELPA Syncer
branch: externals/org-modern
commit 9ad8b7e20bb44b615fc1d053f410682d32893777
Author: Daniel Mendler 
Commit: Daniel Mendler 

README update
---
 README.org | 25 -
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/README.org b/README.org
index f0ab270159..8418e58597 100644
--- a/README.org
+++ b/README.org
@@ -20,23 +20,22 @@ of each syntax element individually via the =org-modern= 
customization group.
 The screenshots shows [[file:example.org][example.org]] with =org-modern-mode= 
turned on and off. The
 elegant theme featured in the screenshot is 
[[https://protesilaos.com/emacs/modus-themes][modus-operandi]].
 
-This package is still early in its development, so expect bugs and issues in
-particular due to unfortunate interactions of the =variable-pitch= and 
=fixed-pitch=
-fonts. You should ensure that your fonts combine harmonically and have
-approximately the same height. =org-modern-mode= tries to adjust the tag label
-display based on the value of =line-spacing=. This looks best if 
=line-spacing= has
-a value between 0.1 and 0.4 in the Org buffer. Note that =org-indent-mode=
-interferes with some of the style elements applied by =org-modern-mode=, e.g., 
the
-block brackets in the fringe.
+Since this package adjusts text styling, it depends on your font settings. You
+should ensure that your =variable-pitch= and =fixed-pitch= fonts combine
+harmonically and have approximately the same height. =org-modern-mode= tries to
+adjust the tag label display based on the value of =line-spacing=. This looks 
best
+if =line-spacing= has a value between 0.1 and 0.4 in the Org buffer. Note that
+=org-indent-mode= interferes with some of the style elements applied by
+=org-modern-mode=, e.g., the block brackets in the fringe.
 
 Bug reports, improvement or style proposals are welcome! Maybe some more Org
 elements deserve styling or alternative stylings should be offered?
 
-The tag style of =org-modern= is a poor Emacsien's ripoff from Nicholas 
Rougier's
-beautiful [[https://github.com/rougier/svg-tag-mode][svg-tag-mode]]. In 
contrast to =svg-tag-mode=, this package avoids images
-and uses cheap and fast Emacs box text properties. By only styling the text via
-text properties, the styled text, e.g., dates or tags stay editable and are 
easy
-to interact with.
+The tag style of =org-modern= is inspired by Nicholas Rougier's beautiful
+[[https://github.com/rougier/svg-tag-mode][svg-tag-mode]]. In contrast to 
=svg-tag-mode=, this package avoids images and uses
+cheap and fast Emacs box text properties. By only styling the text via text
+properties, the styled text, e.g., dates or tags stay editable and are easy to
+interact with.
 
 On the downside, this restricts our flexibility and may lead to font-dependent
 issues. We do our best, but for example there is no way we can get round



[elpa] externals/pyim updated (9606d25f90 -> 9f2871d7db)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch externals/pyim.

  from  9606d25f90 v5.2.0
   new  dad6b82a06 Add pyim--delete-region-or-chars
   new  9f2871d7db Simplify pyim--find-code


Summary of changes:
 pyim.el | 40 
 1 file changed, 20 insertions(+), 20 deletions(-)



[elpa] externals/pyim 9f2871d7db 2/2: Simplify pyim--find-code

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit 9f2871d7dbbd31818020bba91fd1ccbeb0b38d36
Author: Feng Shu 
Commit: Feng Shu 

Simplify pyim--find-code
---
 pyim.el | 25 +++--
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/pyim.el b/pyim.el
index d4a998b8a2..e8f1d8b4c0 100644
--- a/pyim.el
+++ b/pyim.el
@@ -597,21 +597,18 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
   (let* ((case-fold-search nil)
  (scheme (pyim-scheme-current))
  (first-chars (pyim-scheme-first-chars scheme))
- (rest-chars (pyim-scheme-rest-chars scheme)))
-(when (string-match
-   ;; 创建一个 regexp, 用于提取出光标处一个适合
-   ;; 转换的字符串。
-   (format "[%s]+ *$"
-   (cl-delete-duplicates
-(concat first-chars rest-chars "'-")))
-   string)
-  (let* ((code (replace-regexp-in-string
-;; 一些编程语言使用单引号做为字符串的标记,这里需要特殊处理。
-"^[-']" ""
-(match-string 0 string)))
- (length (length code))
+ (rest-chars (pyim-scheme-rest-chars scheme))
+ (regexp-used-to-extract-code
+  (format "[%s]+ *$"
+  (cl-delete-duplicates
+   (concat first-chars rest-chars "'-")
+(when (string-match regexp-used-to-extract-code string)
+  (let* ((code (match-string 0 string))
+ ;; 一些编程语言使用单引号做为字符串的标记,这里需要特殊处理。
+ (code (replace-regexp-in-string "^[-']" "" code))
+ (backward-delete-char-number (length code))
  (code (replace-regexp-in-string " +" "" code)))
-(list code length)
+(list code backward-delete-char-number)
 
 (defun pyim--convert-string (string)
   (let* ((code-info-at-point (pyim--find-code string))



[elpa] externals/pyim dad6b82a06 1/2: Add pyim--delete-region-or-chars

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit dad6b82a062798c8bb5cf272981cf660eb1509bc
Author: Feng Shu 
Commit: Feng Shu 

Add pyim--delete-region-or-chars
---
 pyim.el | 15 +--
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/pyim.el b/pyim.el
index 42381767b9..d4a998b8a2 100644
--- a/pyim.el
+++ b/pyim.el
@@ -618,16 +618,19 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
  (code (nth 0 code-info-at-point))
  (char-num-need-delete
   (nth 1 code-info-at-point)))
-(when mark-active
-  (delete-region
-   (region-beginning) (region-end)))
-(when (and (not mark-active)
-   (> char-num-need-delete 0))
-  (backward-delete-char char-num-need-delete))
+(pyim--delete-region-or-chars char-num-need-delete)
 (when (> (length code) 0)
   (pyim-add-unread-command-events code)
   (pyim-process-force-input-chinese
 
+(defun pyim--delete-region-or-chars (&optional num)
+  "删除 region 或者光标之前 NUM 个字符。"
+  (if mark-active
+  (delete-region
+   (region-beginning) (region-end))
+(when (and (numberp num) (> num 0))
+  (backward-delete-char num
+
 ;; ** 编码反查功能
 (defun pyim-search-word-code ()
   "选择词条,然后反查它的 code。"



[elpa] externals/async 7f4ed1e8b4: Add a (require 'bytecomp)

2022-06-29 Thread ELPA Syncer
branch: externals/async
commit 7f4ed1e8b44e0b88eadb2efeeaf97f32c38f14c4
Author: John Wiegley 
Commit: John Wiegley 

Add a (require 'bytecomp)
---
 async-bytecomp.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/async-bytecomp.el b/async-bytecomp.el
index b094a5187b..875778108d 100644
--- a/async-bytecomp.el
+++ b/async-bytecomp.el
@@ -38,6 +38,7 @@
 
 (require 'cl-lib)
 (require 'async)
+(require 'bytecomp)
 
 (declare-function package-desc-name "package.el")
 (declare-function package-desc-dir "package.el")



[elpa] externals/pyim 610a0736d7 1/2: Simplify pyim-convert-string-at-point

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit 610a0736d71f91c242257d7dba15204d41696557
Author: Feng Shu 
Commit: Feng Shu 

Simplify pyim-convert-string-at-point
---
 pyim-process.el | 50 
 pyim.el | 55 +++--
 tests/pyim-tests.el | 13 +++--
 3 files changed, 60 insertions(+), 58 deletions(-)

diff --git a/pyim-process.el b/pyim-process.el
index a8921a345c..728096f7bd 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -383,6 +383,52 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
   (cl-decf pos)
   end-position)))
 
+(defun pyim-process--string-at-region-or-point ()
+  (if mark-active
+  (buffer-substring-no-properties
+   (region-beginning) (region-end))
+(buffer-substring (point) (line-beginning-position
+
+(defun pyim-process-feed-entered-at-point-into-pyim ()
+  (let* ((entered-info (pyim-process-find-entered-at-point))
+ (entered (nth 0 entered-info))
+ (char-num-need-delete (nth 1 entered-info)))
+(pyim-process--delete-region-or-chars char-num-need-delete)
+(when (> (length entered) 0)
+  (pyim-add-unread-command-events entered)
+  (pyim-process--force-input-chinese
+
+(defun pyim-process-find-entered-at-point ()
+  "从光标处提取一个有效的 entered 字符串."
+  (let* ((case-fold-search nil)
+ (scheme (pyim-scheme-current))
+ (first-chars (pyim-scheme-first-chars scheme))
+ (rest-chars (pyim-scheme-rest-chars scheme))
+ (regexp-used-to-extract-entered
+  (format "[%s]+ *$"
+  (cl-delete-duplicates
+   (concat first-chars rest-chars "'-"
+ (string (pyim-process--string-at-region-or-point)))
+(when (string-match regexp-used-to-extract-entered string)
+  (let* ((entered (match-string 0 string))
+ ;; 一些编程语言使用单引号做为字符串的标记,这里需要特殊处理。
+ (entered (replace-regexp-in-string "^[-']" "" entered))
+ (backward-delete-char-number (length entered))
+ (entered (replace-regexp-in-string " +" "" entered)))
+(list entered backward-delete-char-number)
+
+(defun pyim-process--delete-region-or-chars (&optional num)
+  "删除 region 或者光标之前 NUM 个字符。"
+  (if mark-active
+  (delete-region
+   (region-beginning) (region-end))
+(when (and (numberp num) (> num 0))
+  (backward-delete-char num
+
+(defun pyim-process--force-input-chinese ()
+  "让 pyim 强制输入中文,忽略所有探针函数。"
+  (setq pyim-process--force-input-chinese t))
+
 ;; ** 中英文切换相关
 (defun pyim-process-toggle-input-ascii ()
   "pyim 切换中英文输入模式, 同时调整标点符号样式。"
@@ -390,10 +436,6 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
   (setq pyim-process--input-ascii
 (not pyim-process--input-ascii)))
 
-(defun pyim-process-force-input-chinese ()
-  "让 pyim 强制输入中文,忽略所有探针函数。"
-  (setq pyim-process--force-input-chinese t))
-
 (defun pyim-process-input-chinese-p ()
   "确定 pyim 是否需要启动中文输入模式."
   (let* ((scheme (pyim-scheme-current))
diff --git a/pyim.el b/pyim.el
index e8f1d8b4c0..631b0e4fb3 100644
--- a/pyim.el
+++ b/pyim.el
@@ -579,54 +579,13 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
   (interactive "P")
   (unless (equal input-method-function 'pyim-input-method)
 (activate-input-method 'pyim))
-  (let ((string (pyim--string-at-region-or-point)))
-(cond
- ((region-active-p) (pyim-create-word-from-selection))
- ((pyim-process-trigger-feature-run-p) nil)
- ((pyim--find-code string) (pyim--convert-string string))
- (t (message "Pyim: pyim-convert-string-at-point did nothing.")
-
-(defun pyim--string-at-region-or-point ()
-  (if mark-active
-  (buffer-substring-no-properties
-   (region-beginning) (region-end))
-(buffer-substring (point) (line-beginning-position
-
-(defun pyim--find-code (string)
-  "从 STRING 末尾提取一个有效的 code."
-  (let* ((case-fold-search nil)
- (scheme (pyim-scheme-current))
- (first-chars (pyim-scheme-first-chars scheme))
- (rest-chars (pyim-scheme-rest-chars scheme))
- (regexp-used-to-extract-code
-  (format "[%s]+ *$"
-  (cl-delete-duplicates
-   (concat first-chars rest-chars "'-")
-(when (string-match regexp-used-to-extract-code string)
-  (let* ((code (match-string 0 string))
- ;; 一些编程语言使用单引号做为字符串的标记,这里需要特殊处理。
- (code (replace-regexp-in-string "^[-']" "" code))
- (backward-delete-char-number (length code))
- (code (replace-regexp-in-string " +" "" code)))
-(list code backward-delete-char-number)
-
-(defun pyim--convert-string (string)
-  (let* ((code-info-at-point (pyim--find-code string))
- (code (nth 0 code-info-at-point))
- (char-num-need-delete
-  (nth 1 code-info-at-point)))
-(pyim--delete-region-or-chars char-num-need-delete)
-(when (> (length code) 0)
-  (pyim-add-unread-command-events code)
-  (pyim-process-force-input-chinese

[elpa] externals/pyim updated (9f2871d7db -> 03ac31810d)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch externals/pyim.

  from  9f2871d7db Simplify pyim--find-code
   new  610a0736d7 Simplify pyim-convert-string-at-point
   new  03ac31810d Add pyim-process--feed-entered-into-pyim


Summary of changes:
 pyim-process.el | 53 +++
 pyim.el | 55 +++--
 tests/pyim-tests.el | 13 +++--
 3 files changed, 63 insertions(+), 58 deletions(-)



[elpa] externals/pyim 03ac31810d 2/2: Add pyim-process--feed-entered-into-pyim

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit 03ac31810d8d03ac9f7a2c023f6bb5eb9092f354
Author: Feng Shu 
Commit: Feng Shu 

Add pyim-process--feed-entered-into-pyim
---
 pyim-process.el | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/pyim-process.el b/pyim-process.el
index 728096f7bd..cd37b9c397 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -394,9 +394,7 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
  (entered (nth 0 entered-info))
  (char-num-need-delete (nth 1 entered-info)))
 (pyim-process--delete-region-or-chars char-num-need-delete)
-(when (> (length entered) 0)
-  (pyim-add-unread-command-events entered)
-  (pyim-process--force-input-chinese
+(pyim-process--feed-entered-into-pyim entered)))
 
 (defun pyim-process-find-entered-at-point ()
   "从光标处提取一个有效的 entered 字符串."
@@ -425,6 +423,11 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
 (when (and (numberp num) (> num 0))
   (backward-delete-char num
 
+(defun pyim-process--feed-entered-into-pyim (entered)
+  (when (and (stringp entered) (> (length entered) 0))
+(pyim-add-unread-command-events entered)
+(pyim-process--force-input-chinese)))
+
 (defun pyim-process--force-input-chinese ()
   "让 pyim 强制输入中文,忽略所有探针函数。"
   (setq pyim-process--force-input-chinese t))



[elpa] externals/pyim updated (03ac31810d -> 154da73a5d)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch externals/pyim.

  from  03ac31810d Add pyim-process--feed-entered-into-pyim
   new  3405968a1a Simplify pyim-convert-string-at-point
   new  14050bcc7a Add pyim--activate-pyim.
   new  154da73a5d Update README


Summary of changes:
 README.org  |  1 -
 pyim-process.el | 11 +++
 pyim.el | 23 +--
 tests/pyim-tests.el |  6 +++---
 4 files changed, 23 insertions(+), 18 deletions(-)



[elpa] externals/pyim 3405968a1a 1/3: Simplify pyim-convert-string-at-point

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit 3405968a1a1226f03afe146098c87796d4e6351b
Author: Feng Shu 
Commit: Feng Shu 

Simplify pyim-convert-string-at-point
---
 pyim-process.el | 11 +++
 pyim.el | 17 -
 tests/pyim-tests.el |  6 +++---
 3 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/pyim-process.el b/pyim-process.el
index cd37b9c397..66641d0cb0 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -390,13 +390,16 @@ imobj 组合构成在一起,构成了 imobjs 这个概念。比如:
 (buffer-substring (point) (line-beginning-position
 
 (defun pyim-process-feed-entered-at-point-into-pyim ()
-  (let* ((entered-info (pyim-process-find-entered-at-point))
+  (let* ((entered-info (pyim-process--find-entered-at-point))
  (entered (nth 0 entered-info))
  (char-num-need-delete (nth 1 entered-info)))
-(pyim-process--delete-region-or-chars char-num-need-delete)
-(pyim-process--feed-entered-into-pyim entered)))
+(when entered-info
+  (pyim-process--delete-region-or-chars char-num-need-delete)
+  (pyim-process--feed-entered-into-pyim entered)
+  ;; NOTE: 这里必须返回 t, 因为这个函数的返回结果会被作为判断条件使用。
+  t)))
 
-(defun pyim-process-find-entered-at-point ()
+(defun pyim-process--find-entered-at-point ()
   "从光标处提取一个有效的 entered 字符串."
   (let* ((case-fold-search nil)
  (scheme (pyim-scheme-current))
diff --git a/pyim.el b/pyim.el
index 631b0e4fb3..c7e4b3dbf1 100644
--- a/pyim.el
+++ b/pyim.el
@@ -292,8 +292,10 @@ REFRESH-COMMON-DCACHE 已经废弃,不要再使用了。"
 (if (not (string-match-p "^\\cc+\\'" string))
 (error "不是纯中文字符串")
   (setq output (pyim-process-create-word string))
-  (message "将词条: %S 插入 personal file。" output
-(deactivate-mark)))
+  (message "将词条: %S 插入 personal file。" output)))
+  (deactivate-mark)
+  ;; NOTE: 这里必须返回 t, 因为这个函数的返回结果会被用来做为判断条件。
+  t)))
 
 ;; ** 导入词条功能
 (defun pyim-import-words-and-counts (file &optional merge-method silent)
@@ -579,13 +581,10 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
   (interactive "P")
   (unless (equal input-method-function 'pyim-input-method)
 (activate-input-method 'pyim))
-  (cond
-   ((region-active-p) (pyim-create-word-from-selection))
-   ;; `pyim-process-trigger-feature-run-p' 函数本身就会做相应的操作。
-   ((pyim-process-trigger-feature-run-p) nil)
-   ((pyim-process-find-entered-at-point)
-(pyim-process-feed-entered-at-point-into-pyim))
-   (t (message "PYIM: `pyim-convert-string-at-point' did nothing."
+  (or (pyim-create-word-from-selection)
+  (pyim-process-trigger-feature-run-p)
+  (pyim-process-feed-entered-at-point-into-pyim)
+  (message "PYIM: `pyim-convert-string-at-point' did nothing.")))
 
 ;; ** 编码反查功能
 (defun pyim-search-word-code ()
diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index a59d22d1f9..7c6176914c 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -2230,14 +2230,14 @@ abc 这是")))
   (insert ",")
   (should (pyim-process--trigger-punctuation-to-half-width-p)
 
-(ert-deftest pyim-tests-pyim-process-find-entered-at-point ()
+(ert-deftest pyim-tests-pyim-process--find-entered-at-point ()
   (with-temp-buffer
 (insert "123abc'd   ")
-(should (equal (pyim-process-find-entered-at-point) '("abc'd" 8
+(should (equal (pyim-process--find-entered-at-point) '("abc'd" 8
 
   (with-temp-buffer
 (insert "123'abcd   ")
-(should (equal (pyim-process-find-entered-at-point) '("abcd" 7)
+(should (equal (pyim-process--find-entered-at-point) '("abcd" 7)
 
 
 (ert-run-tests-batch-and-exit)



[elpa] externals/pyim 14050bcc7a 2/3: Add pyim--activate-pyim.

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit 14050bcc7ab444983c97a95931b3d4d1b7e1313e
Author: Feng Shu 
Commit: Feng Shu 

Add pyim--activate-pyim.
---
 pyim.el | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/pyim.el b/pyim.el
index c7e4b3dbf1..4688a5e4fb 100644
--- a/pyim.el
+++ b/pyim.el
@@ -579,13 +579,17 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
 (defun pyim-convert-string-at-point (&optional _)
   "将光标前的用户输入的字符串转换为中文."
   (interactive "P")
-  (unless (equal input-method-function 'pyim-input-method)
-(activate-input-method 'pyim))
+  (pyim--activate-pyim)
   (or (pyim-create-word-from-selection)
   (pyim-process-trigger-feature-run-p)
   (pyim-process-feed-entered-at-point-into-pyim)
   (message "PYIM: `pyim-convert-string-at-point' did nothing.")))
 
+(defun pyim--activate-pyim ()
+  "如果当前输入法设置为 pyim, 就激活它。"
+  (unless (equal input-method-function 'pyim-input-method)
+(activate-input-method 'pyim)))
+
 ;; ** 编码反查功能
 (defun pyim-search-word-code ()
   "选择词条,然后反查它的 code。"



[elpa] externals/pyim 154da73a5d 3/3: Update README

2022-06-29 Thread ELPA Syncer
branch: externals/pyim
commit 154da73a5d1e2296a91b7f333592a6a4566ebaa5
Author: Feng Shu 
Commit: Feng Shu 

Update README
---
 README.org | 1 -
 1 file changed, 1 deletion(-)

diff --git a/README.org b/README.org
index 11fa5830bb..c2f3433a67 100644
--- a/README.org
+++ b/README.org
@@ -302,7 +302,6 @@ pyim 的选词框默认使用 *双行显示* 的样式,在一些特殊的情
1. 在 "你好" 后面输入2, 然后运行金手指命令,可以将 “你好” 加入个人词库。
2. 在 “你好” 后面输入2-, 然后运行金手指命令,可以将 “你好” 从个人词库删除。
3. 如果用户选择了一个词条,则运行金手指命令可以将选择的词条加入个人词库。
-   4. 如果用户在汉字后面输入"-", 然后运行金手指命令,可以将最近一次创建的词条删除。
 2. `pyim-create-Ncchar-word-at-point' 这是一组命令,从光标前提取N个汉字字符组成字
符串,并将其加入个人词库。
 3. `pyim-outcome-trigger' 以默认设置为例:在 “我爱吃红烧肉” 后输入 “5v”,可以将



[elpa] main 804a360fbe: * elpa-packages (denote): Include ':news' file

2022-06-29 Thread Protesilaos Stavrou
branch: main
commit 804a360fbe9bc94def27312dffcd990e7534a317
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

* elpa-packages (denote): Include ':news' file
---
 elpa-packages | 1 +
 1 file changed, 1 insertion(+)

diff --git a/elpa-packages b/elpa-packages
index e072b035c5..9f3ef7d397 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -187,6 +187,7 @@
   :url "https://git.sr.ht/~protesilaos/denote";
   :auto-sync t
   :doc "README.org"
+  :news "CHANGELOG.org"
   :ignored-files ("COPYING" "doclicense.texi"))
  ("detached"   :url "https://git.sr.ht/~niklaseklund/detached.el";
   :news "CHANGELOG.org"



[elpa] externals/taxy 2368c34421 2/2: Change: (deffy) Further improve categorization

2022-06-29 Thread ELPA Syncer
branch: externals/taxy
commit 2368c3442115cbd80a80595773c0c97a16c225c4
Author: Adam Porter 
Commit: Adam Porter 

Change: (deffy) Further improve categorization
---
 examples/deffy.el | 16 +---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/examples/deffy.el b/examples/deffy.el
index 81afd45ab1..1b68286716 100644
--- a/examples/deffy.el
+++ b/examples/deffy.el
@@ -86,15 +86,25 @@
  'struct)
  (`(,(or 'defclass) . ,_)
  'class)
- (`(,(or 'defcustom 'defgroup 'defvar 'defvar-local) . 
,_)
+ (`(,(or 'cl-defmethod 'defmethod) . ,_)
+ 'method)
+ (`(,(or 'define-error) . ,_)
+ 'error)
+ (`(,(or 'defconst 'defcustom 'defgroup 'defvar 
'defvar-local) . ,_)
   'variable)
+ (`(,(or 'define-hash-table-test) . ,_)
+  'hash-table-test)
+ (`(,(or 'defface) . ,_)
+  'face)
  (`(,(or 'provide 'require) . ,_)
   'feature)
  ;; Top-level forms that don't usually correspond to 
definitions,
  ;; so we ignore them.
- (`(,(or 'cl-eval-when 'eval-when-compile 
'with-eval-after-load) . ,_)
+ (`(,(or 'cl-eval-when 'eval-and-compile 
'eval-when-compile 'with-eval-after-load) . ,_)
   nil)
- (`(,(or 'unless 'when) . ,_)
+ (`(,(or 'declare-function) . ,_)
+  nil)
+ (`(,(or 'unless 'when 'if-let 'if-let* 'when-let 
'when-let* '-if-let '-if-let* '-when-let '-when-let* 'setf 'setq) . ,_)
   nil)
  ;; Top-level forms that are macro calls (e.g. custom 
defining macros).
  ((and `(,car . ,_) (guard (macrop car))) car)



[elpa] externals/taxy f9cb6c00fd 1/2: Comment: Add FIXMEs

2022-06-29 Thread ELPA Syncer
branch: externals/taxy
commit f9cb6c00fd07d0a2dd682261035c38b90a5746d2
Author: Adam Porter 
Commit: Adam Porter 

Comment: Add FIXMEs
---
 examples/deffy.el | 8 
 1 file changed, 8 insertions(+)

diff --git a/examples/deffy.el b/examples/deffy.el
index 2576cf7bf4..81afd45ab1 100644
--- a/examples/deffy.el
+++ b/examples/deffy.el
@@ -100,6 +100,14 @@
  ((and `(,car . ,_) (guard (macrop car))) car)
  ;; Anything else: ignored.
 (`(,car . ,_) nil
+  ;; FIXME: Returning nil for these ignored types only works when the form 
is in the
+  ;; top-level file, i.e. when the file's relative name is nil, so these 
ignored types
+  ;; still show up when they're in other files.  This isn't really the 
right way to
+  ;; discard uninteresting items.
+
+  ;; FIXME: Also, when a project Lisp file is not loaded into Emacs, some 
symbols may
+  ;; not be correctly classified, e.g. defining macros.  It's probably not 
feasible to
+  ;; solve that completely correctly, so some options or workarounds may 
be needed.
   (when type
 (format "%s" type)
 



[elpa] externals/taxy updated (f00bcd4b4e -> 2368c34421)

2022-06-29 Thread ELPA Syncer
elpasync pushed a change to branch externals/taxy.

  from  f00bcd4b4e Change: (deffy-define-key type) Improve categorization
   new  f9cb6c00fd Comment: Add FIXMEs
   new  2368c34421 Change: (deffy) Further improve categorization


Summary of changes:
 examples/deffy.el | 24 +---
 1 file changed, 21 insertions(+), 3 deletions(-)