[elpa] externals/pyim 1f32674: * tests/pyim-tests.el (pyim-tests-pyim-dcache-export): New test.

2021-12-15 Thread ELPA Syncer
branch: externals/pyim
commit 1f326742a926efa613038aef017c9fefe11ebfee
Author: Feng Shu 
Commit: Feng Shu 

* tests/pyim-tests.el (pyim-tests-pyim-dcache-export): New test.
---
 tests/pyim-tests.el | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index dc0c8b0..2d332ac 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -646,6 +646,29 @@
 (pyim-dcache-init-variable my/test:1)
 (should (equal my/test:1 "hello"
 
+(ert-deftest pyim-tests-pyim-dcache-export ()
+  (let ((pyim-dhashcache-iword2count (make-hash-table :test #'equal))
+(pyim-dhashcache-icode2word (make-hash-table :test #'equal))
+(file (make-temp-file "pyim-dcache-export-")))
+(puthash "你好" 10 pyim-dhashcache-iword2count)
+(puthash "尼耗" 1 pyim-dhashcache-iword2count)
+(puthash "ni-hao" (list "你好" "尼耗") pyim-dhashcache-icode2word)
+(pyim-dcache-export-words-and-counts file)
+(with-temp-buffer
+  (insert-file-contents file)
+  (should (equal (buffer-string)
+ ";;; -*- coding: utf-8-unix -*-
+你好 10
+尼耗 1
+")))
+(pyim-dcache-export-personal-words file)
+(with-temp-buffer
+  (insert-file-contents file)
+  (should (equal (buffer-string)
+ ";;; -*- coding: utf-8-unix -*-
+ni-hao 你好 尼耗
+")
+
 ;; ** pyim-dhashcache 相关单元测试
 (ert-deftest pyim-tests-pyim-dhashcache-get-shortcodes ()
   (should (equal (pyim-dhashcache-get-shortcodes ".abcde") nil))



[nongnu] elpa/go-mode updated (5bd8efa -> c3c0c14)

2021-12-15 Thread ELPA Syncer
elpasync pushed a change to branch elpa/go-mode.

  from  5bd8efa   godoc-gogetdoc works with modules
   new  b212a73   Replace our fill-paragraph code with a modified copy from 
rust-mode
   new  c3c0c14   Remove support for gb, wgo and Godeps


Summary of changes:
 go-mode.el | 314 +
 test/go-fill-paragraph-test.el |  22 +--
 2 files changed, 162 insertions(+), 174 deletions(-)



[nongnu] elpa/go-mode c3c0c14 2/2: Remove support for gb, wgo and Godeps

2021-12-15 Thread ELPA Syncer
branch: elpa/go-mode
commit c3c0c14374a322d98de7406cb0e365b92deb4a19
Author: Dominik Honnef 
Commit: Dominik Honnef 

Remove support for gb, wgo and Godeps

Closes gh-391
---
 go-mode.el | 63 +++---
 1 file changed, 3 insertions(+), 60 deletions(-)

diff --git a/go-mode.el b/go-mode.el
index 11c5bef..f1a5e0b 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -203,18 +203,13 @@ the Go build cache or Go modules."
   :package-version '(go-mode . 1.4.0)
   :group 'go)
 
-(defcustom go-guess-gopath-functions (list #'go-godep-gopath
-   #'go-wgo-gopath
-   #'go-gb-gopath
-   #'go-plain-gopath)
+(defcustom go-guess-gopath-functions (list #'go-plain-gopath)
   "Functions to call in sequence to detect a project's GOPATH.
 
 The functions in this list will be called one after another,
 until a function returns non-nil.  The order of the functions in
 this list is important, as some project layouts may superficially
-look like others.  For example, a subset of wgo projects look like
-gb projects.  That's why we need to detect wgo first, to avoid
-mis-identifying them as gb projects."
+look like others."
   :type '(repeat function)
   :group 'go)
 
@@ -2785,10 +2780,7 @@ returned."
 (looking-at "\\

[nongnu] elpa/go-mode b212a73 1/2: Replace our fill-paragraph code with a modified copy from rust-mode

2021-12-15 Thread ELPA Syncer
branch: elpa/go-mode
commit b212a73c21a8b806f9764004397c1d03eb0b2e10
Author: Dominik Honnef 
Commit: Dominik Honnef 

Replace our fill-paragraph code with a modified copy from rust-mode

With no offense to the author of the original code, the copy from
rust-mode, after some slight modifications, works more reliably than
what we had before and is (somewhat) easier to understand.

fill-region no longer locks up, and multi-line strings can be
reformatted somewhat (because we no longer prevent formatting of
non-comments). In the future we may want to improve upon this to
handle strings specially, and prevent reflowing code, much like
cc-mode does.

Closes gh-390
Updates gh-386
---
 go-mode.el | 251 +
 test/go-fill-paragraph-test.el |  22 +---
 2 files changed, 159 insertions(+), 114 deletions(-)

diff --git a/go-mode.el b/go-mode.el
index 21d01ff..11c5bef 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -762,97 +762,6 @@ case keyword. It returns nil for the case line itself."
   (replace-regexp-in-string "/\\*" "  "
 (match-string-no-properties 0))
 
-(defun go--fill-paragraph (&rest args)
-  "Wrap fill-paragraph to set custom fill-prefix."
-  (let ((fill-prefix (go--fill-prefix))
-(fill-paragraph-function nil))
-(apply 'fill-paragraph args)))
-
-(defun go--empty-line-p ()
-  (looking-at "[[:space:]]*$"))
-
-(defun go--boring-comment-p ()
-  "Return non-nil if we are looking at a boring comment.
-
-A boring comment is a comment with no content. For example:
-
-  ; boring
-// hello
-  ; boring
-
-/*; boring
-  hello
-*/; boring
-"
-  (or
-   (looking-at-p "[[:space:]]*//+[[:space:]]*$")
-   (looking-at-p "[[:space:]]*\\(?:/\\*+\\|\\*/+\\)[[:space:]]*$")))
-
-(defun go--interesting-comment-p ()
-  "Return non-nil if we are looking at an interesting comment.
-
-An interesting comment is one that contains content other than
-comment starter/closer characters."
-
-  (if (go-in-comment-p)
-  (and
-   (not (go--empty-line-p))
-   (not (looking-at-p "[[:space:]]*\\*/")))
-(and
- (looking-at go--comment-start-regexp)
- (not (go--boring-comment-p)
-
-(defun go--fill-forward-paragraph (&optional arg)
-  "forward-paragraph like function used for fill-paragraph.
-
-This function is key for making fill-paragraph do the right
-thing for comments."
-  (beginning-of-line)
-  (let* ((arg (or arg 1))
- (single (if (> arg 0) 1 -1))
- (done nil))
-(while (and (not done) (not (zerop arg)))
-  ;; If we are moving backwards and aren't currently looking at a
-  ;; comment, move back one line. This is to make sure
-  ;; (go--fill-forward-paragraph -1) always works properly as the
-  ;; inverse of (go--fill-forward-paragraph 1).
-  (when (and
- (= single -1)
- (not (go-in-comment-p))
- (not (looking-at-p go--comment-start-regexp)))
-(forward-line -1))
-
-  ;; Skip empty lines and comment lines with no content.
-  (while (and
-  (or (go--empty-line-p) (go--boring-comment-p))
-  (zerop (forward-line single
-
-  (let (saw-comment)
-;; Skip comment lines that have content.
-(while (and
-(go--interesting-comment-p)
-(zerop (forward-line single)))
-  (setq saw-comment t))
-
-(if (not saw-comment)
-(progn
-  ;; In fill-region case user may have selected a region
-  ;; with non-comments. fill-region will loop forever
-  ;; until it makes it to the end of the region, so just
-  ;; fall back to `forward-paragraph' so we make progress.
-  (when mark-active
-(setq arg (forward-paragraph arg)))
-  (setq done t))
-  ;; If we are going backwards, move forward one line so we
-  ;; are on the first interesting line of the comment. Note
-  ;; that the current line may already be interesting if we
-  ;; are at the beginning of the buffer.
-  (when (and (= single -1) (not (go--interesting-comment-p)))
-(forward-line 1))
-  (cl-decf arg single
-arg))
-
-
 (defun go--open-paren-position ()
   "Return non-nil if point is between '(' and ')'.
 
@@ -879,6 +788,10 @@ The return value is the position of the opening paren."
 (go--multiline-comment-indent)
   (go--indentation-at-point
 
+;; It's unfortunate that the user cannot reindent the current line to
+;; align with the previous line; however, if they could, then people
+;; who use reindent-then-newline-and-indent wouldn't be able to
+;; explicitly indent lines inside comments.
 (defun go--multiline-comment-indent ()
   "Return the appropriate indent inside multiline comment.
 
@@ -1901,10 +1814,25 @@ with goflymake (s

[nongnu] elpa/go-mode updated (c3c0c14 -> 32cbd78)

2021-12-15 Thread ELPA Syncer
elpasync pushed a change to branch elpa/go-mode.

  from  c3c0c14   Remove support for gb, wgo and Godeps
   new  5dd0353   XRef is no longer optional
   new  32cbd78   Remove polyfills for functions from Emacs 26


Summary of changes:
 go-mode.el | 51 +--
 1 file changed, 13 insertions(+), 38 deletions(-)



[nongnu] elpa/go-mode 32cbd78 2/2: Remove polyfills for functions from Emacs 26

2021-12-15 Thread ELPA Syncer
branch: elpa/go-mode
commit 32cbd78c0af29837ace3db04a224d6d01ec6851e
Author: Dominik Honnef 
Commit: Dominik Honnef 

Remove polyfills for functions from Emacs 26

Updates gh-394
---
 go-mode.el | 31 ---
 1 file changed, 4 insertions(+), 27 deletions(-)

diff --git a/go-mode.el b/go-mode.el
index 349c6bc..1a85492 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -1926,7 +1926,7 @@ with goflymake (see URL 
`https://github.com/dougm/goflymake'), gocode
 The tool used can be set via ‘gofmt-command’ (default: gofmt) and additional
 arguments can be set as a list via ‘gofmt-args’."
   (interactive)
-  (let ((tmpfile (go--make-nearby-temp-file "gofmt" nil ".go"))
+  (let ((tmpfile (make-nearby-temp-file "gofmt" nil ".go"))
 (patchbuf (get-buffer-create "*Gofmt patch*"))
 (errbuf (if gofmt-show-errors (get-buffer-create "*Gofmt Errors*")))
 (coding-system-for-read 'utf-8)
@@ -1952,11 +1952,11 @@ arguments can be set as a list via ‘gofmt-args’."
   ;; accepting a full path, and some features
   ;; of goimports rely on knowing the full
   ;; name.
-  (list "-srcdir" (go--file-local-name
+  (list "-srcdir" (file-local-name
(file-truename 
buffer-file-name))
   (setq our-gofmt-args
 (append our-gofmt-args gofmt-args
-(list "-w" (go--file-local-name tmpfile
+(list "-w" (file-local-name tmpfile
   (message "Calling gofmt: %s %s" gofmt-command our-gofmt-args)
   ;; We're using errbuf for the mixed stdout and stderr output. This
   ;; is not an issue because gofmt -w does not produce any stdout
@@ -2000,7 +2000,7 @@ arguments can be set as a list via ‘gofmt-args’."
  (concat (file-name-directory filename) 
(file-name-nondirectory tmpfile))
tmpfile)))
 (while (search-forward-regexp
-(concat "^\\(" (regexp-quote (go--file-local-name truefile))
+(concat "^\\(" (regexp-quote (file-local-name truefile))
 "\\):")
 nil t)
   (replace-match (file-name-nondirectory filename) t t nil 1)))
@@ -2906,29 +2906,6 @@ If BUFFER, return the number of characters in that 
buffer instead."
 ;;;###autoload
 (add-to-list 'auto-mode-alist '("go\\.mod\\'" . go-dot-mod-mode))
 
-;; Polyfills for functions added in Emacs 26.  Remove these once we don’t
-;; support Emacs 25 any more.
-(defalias 'go--file-local-name
-  (if (fboundp 'file-local-name) #'file-local-name
-(lambda (file) (or (file-remote-p file 'localname) file
-
-(defalias 'go--make-nearby-temp-file
-  (if (fboundp 'make-nearby-temp-file) #'make-nearby-temp-file
-(lambda (prefix &optional dir-flag suffix)
-  (let ((temporary-file-directory (go--temporary-file-directory)))
-(make-temp-file prefix dir-flag suffix)
-
-(defalias 'go--temporary-file-directory
-  (if (fboundp 'temporary-file-directory) #'temporary-file-directory
-(lambda ()
-  (let ((remote (file-remote-p default-directory)))
-(if remote
-;; Assume that /tmp is a temporary directory on the remote host.
-;; This won’t work on Windows.
-(concat remote "/tmp")
-  temporary-file-directory)
-
-
 ;; The following functions were copied (and modified) from rust-mode.el.
 ;;
 ;; Copyright (c) 2015 The Rust Project Developers



[nongnu] elpa/go-mode 5dd0353 1/2: XRef is no longer optional

2021-12-15 Thread ELPA Syncer
branch: elpa/go-mode
commit 5dd0353fabad4d8f1245288ababd8d634e78259a
Author: Dominik Honnef 
Commit: Dominik Honnef 

XRef is no longer optional

Updates gh-394
---
 go-mode.el | 20 +---
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/go-mode.el b/go-mode.el
index f1a5e0b..349c6bc 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -22,7 +22,7 @@
 (require 'find-file)
 (require 'ring)
 (require 'url)
-(require 'xref nil :noerror)  ; xref is new in Emacs 25.1
+(require 'xref)
 
 
 (eval-when-compile
@@ -2406,16 +2406,14 @@ description at POINT."
   "Jump to the definition of the expression at POINT."
   (interactive "d")
   (condition-case nil
-  (let ((file (car (godef--call point
-(if (not (godef--successful-p file))
-(message "%s" (godef--error file))
-  (push-mark)
-  (if (eval-when-compile (fboundp 'xref-push-marker-stack))
-  ;; TODO: Integrate this facility with XRef.
-  (xref-push-marker-stack)
-(ring-insert find-tag-marker-ring (point-marker)))
-  (godef--find-file-line-column file other-window)))
-(file-error (message "Could not run godef binary"
+ (let ((file (car (godef--call point
+   (if (not (godef--successful-p file))
+   (message "%s" (godef--error file))
+ (push-mark)
+ ;; TODO: Integrate this facility with XRef.
+ (xref-push-marker-stack)
+ (godef--find-file-line-column file other-window)))
+   (file-error (message "Could not run godef binary"
 
 (defun godef-jump-other-window (point)
   (interactive "d")



[elpa] externals/csv-mode 698d806: Fill `csv-align-padding' docstring

2021-12-15 Thread Simen Heggest�
branch: externals/csv-mode
commit 698d806f230d267f4a77cc2d873a36aa18e7e949
Author: Simen Heggestøyl 
Commit: Simen Heggestøyl 

Fill `csv-align-padding' docstring

* csv-mode.el (csv-align-padding): Fill docstring to silence warning.
---
 csv-mode.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/csv-mode.el b/csv-mode.el
index e47983a..5e29a9b 100644
--- a/csv-mode.el
+++ b/csv-mode.el
@@ -238,7 +238,8 @@ Auto-alignment means left align text and right align 
numbers."
 
 (defcustom csv-align-padding 1
   "Aligned field spacing: must be a positive integer.
-Number of spaces used by `csv-align-mode' and `csv-align-fields' after 
separators."
+Number of spaces used by `csv-align-mode' and `csv-align-fields'
+after separators."
   :type 'integer)
 
 (defcustom csv-header-lines 0



[nongnu] elpa/org-contrib 9dc8f49: Don’t assume Emacs internal timestamp format

2021-12-15 Thread Paul Eggert
branch: elpa/org-contrib
commit 9dc8f4914888b904a7edceae6deda5329777ae94
Author: Paul Eggert 
Commit: Paul Eggert 

Don’t assume Emacs internal timestamp format

This format is documented to change in some future Emacs version.
* lisp/ox-groff.el (org-groff--time-sec): New function.
(org-groff-compile): Use it.
---
 lisp/ox-groff.el | 21 ++---
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/lisp/ox-groff.el b/lisp/ox-groff.el
index 5c18085..3e376f1 100644
--- a/lisp/ox-groff.el
+++ b/lisp/ox-groff.el
@@ -647,16 +647,16 @@ See `org-groff-text-markup-alist' for details."
 
 
 ;; If FROM then get data from FROM
-(if from-data 
+(if from-data
 (setq from-data
   (replace-regexp-in-string "\\.P\n" "" from-data))
   (setq from-data ""))
-
-(if to-data 
+
+(if to-data
 (setq to-data
   (replace-regexp-in-string "\\.P\n" "" to-data))
   (setq from-data ""))
-
+
 (concat
  (cond
   (from-data
@@ -1879,6 +1879,12 @@ Return PDF file's name."
   async subtreep visible-only body-only ext-plist
   (lambda (file) (org-groff-compile file)
 
+;; Port to Emacs 26 and earlier.
+(defun org-groff--time-sec (time)
+  (if (fboundp 'time-convert)
+  (time-convert time 'integer)
+(cl-subseq (or time (current-time)) 0 2)))
+
 (defun org-groff-compile (file)
   "Compile a Groff file.
 
@@ -1889,7 +1895,7 @@ Return PDF file name or an error if it couldn't be 
produced."
   (let* ((base-name (file-name-sans-extension (file-name-nondirectory file)))
 (full-name (file-truename file))
 (out-dir (file-name-directory file))
-(time (current-time))
+(time (org-groff--time-sec nil))
 ;; Properly set working directory for compilation.
 (default-directory (if (file-name-absolute-p file)
(file-name-directory full-name)
@@ -1928,8 +1934,9 @@ Return PDF file name or an error if it couldn't be 
produced."
;; Only compare times up to whole seconds as some
;; filesystems (e.g. HFS+) do not retain any finer
;; granularity.
-   (time-less-p (cl-subseq (nth 5 (file-attributes pdffile)) 0 2)
-(cl-subseq time 0 2)))
+   (time-less-p (org-groff--time-sec
+ (nth 5 (file-attributes pdffile)))
+time))
(error (concat (format "PDF file %s wasn't produced" pdffile)
   (when errors (concat ": " errors
  ;; Else remove log files, when specified, and signal end of



[nongnu] elpa/slime 1923227: Simplify message timestamp formatting

2021-12-15 Thread Paul Eggert
branch: elpa/slime
commit 1923227f542dab0c87a13aaf108ec29e06bf6841
Author: Paul Eggert 
Commit: Paul Eggert 

Simplify message timestamp formatting

* slime-tests.el (slime-wait-condition): Use format-time-string rather
than formatting by hand.  This avoids relying on Emacs timestamp
format, which is slated to change.
---
 slime-tests.el | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/slime-tests.el b/slime-tests.el
index b122119..8567b45 100644
--- a/slime-tests.el
+++ b/slime-tests.el
@@ -200,9 +200,8 @@ conditions (assertions)."
 (defun slime-wait-condition (name predicate timeout)
   (let ((end (time-add (current-time) (seconds-to-time timeout
 (while (not (funcall predicate))
-  (let ((now (current-time)))
-(message "waiting for condition: %s [%s.%06d]" name
- (format-time-string "%H:%M:%S" now) (cl-third now)))
+  (message "waiting for condition: %s [%s]" name
+   (format-time-string "%H:%M:%S.%6N"))
   (cond ((time-less-p end (current-time))
  (error "Timeout waiting for condition: %S" name))
 (t



[nongnu] elpa/sly 9300e46: Simplify message timestamp formatting

2021-12-15 Thread Paul Eggert
branch: elpa/sly
commit 9300e466cb29257f6d3e0422384477038ad7011f
Author: Paul Eggert 
Commit: Paul Eggert 

Simplify message timestamp formatting

* lib/sly-tests.el (sly-wait-condition): Use format-time-string rather
than formatting by hand.  This avoids relying on Emacs timestamp
format, which is slated to change.
---
 lib/sly-tests.el | 11 +--
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/lib/sly-tests.el b/lib/sly-tests.el
index af381e9..44f50a5 100644
--- a/lib/sly-tests.el
+++ b/lib/sly-tests.el
@@ -95,7 +95,7 @@ Exits Emacs when finished. The exit code is the number of 
failed tests."
(string-match "test/sly-\\(.*\\)\.elc?$" file-name))
   (list 'contrib (intern (match-string 1 file-name)))
 '(core)
-  
+
   (defmacro define-sly-ert-test (name &rest args)
 "Like `ert-deftest', but set tags automatically.
 Also don't error if `ert.el' is missing."
@@ -209,9 +209,8 @@ conditions (assertions)."
 (defun sly-wait-condition (name predicate timeout &optional cleanup)
   (let ((end (time-add (current-time) (seconds-to-time timeout
 (while (not (funcall predicate))
-  (let ((now (current-time)))
-(sly-message "waiting for condition: %s [%s.%06d]" name
- (format-time-string "%H:%M:%S" now) (cl-third now)))
+  (sly-message "waiting for condition: %s [%s]" name
+   (format-time-string "%H:%M:%S.%6N"))
   (cond ((time-less-p end (current-time))
  (unwind-protect
  (error "Timeout waiting for condition: %S" name)
@@ -1314,7 +1313,7 @@ Reconnect afterwards."
   (with-current-buffer mrepl-buffer
 ;; FIXME: suboptimal: wait one second for the lisp
 ;; to reply.
-(sit-for 1) 
+(sit-for 1)
 (unless (and (string-match "^; +SLY" (buffer-string))
  (string-match "CL-USER> *$" (buffer-string)))
   (die (format "MREPL prompt: %s" (buffer-string
@@ -1447,7 +1446,7 @@ Reconnect afterwards."
(sly-test--eval-now "(.fn3.)"))
  '("nil" "nil")))
   ;; Recompile now
-  ;; 
+  ;;
   (with-current-buffer xref-buffer
 (sly-recompile-all-xrefs)
 (sly-wait-condition "Compilation finished"



[nongnu] elpa/projectile ac60885: Port projectile-time-seconds to future Emacs

2021-12-15 Thread Paul Eggert
branch: elpa/projectile
commit ac60885f2ab562de532a909619351930f852e66c
Author: Paul Eggert 
Commit: Paul Eggert 

Port projectile-time-seconds to future Emacs

Don’t assume internal format of Emacs timestamps.

They are documented to change in a future version.
This patch works on older Emacs versions; it can be simplified
to just use time-convert if we assume Emacs 27 or later.
---
 projectile.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/projectile.el b/projectile.el
index 488df28..e67f56d 100644
--- a/projectile.el
+++ b/projectile.el
@@ -955,8 +955,10 @@ to invalidate."
 
 (defun projectile-time-seconds ()
   "Return the number of seconds since the unix epoch."
-  (cl-destructuring-bind (high low _usec _psec) (current-time)
-(+ (lsh high 16) low)))
+  (if (fboundp 'time-convert)
+  (time-convert nil 'integer)
+(cl-destructuring-bind (high low _usec _psec) (current-time)
+  (+ (lsh high 16) low
 
 (defun projectile-cache-project (project files)
   "Cache PROJECTs FILES.



[elpa] externals/csv-mode 4ae5096: * csv-mode.el (csv-end-of-field): Expand comment

2021-12-15 Thread monnier--- via
branch: externals/csv-mode
commit 4ae5096ed1be35928a8361ed6ed35463697dfc65
Author: Stefan Monnier 
Commit: Stefan Monnier 

* csv-mode.el (csv-end-of-field): Expand comment
---
 csv-mode.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/csv-mode.el b/csv-mode.el
index 5e29a9b..7b9c915 100644
--- a/csv-mode.el
+++ b/csv-mode.el
@@ -674,8 +674,9 @@ point or marker arguments, BEG and END, delimiting the 
region."
   (while (not ended)
(cond ((not (eq (char-syntax (following-char)) ?\"))
   (forward-char 1))
- ;; Quotes inside quoted strings are quoted by doubling
- ;; the quote char: a,"b""c,",d
+ ;; According to RFC-4180 (sec 2.7), quotes inside quoted strings
+ ;; are quoted by doubling the quote char: a,"b""c,",d
+ ;; FIXME: Maybe we should handle this via syntax-propertize?
  ((eq (char-syntax (char-after (1+ (point ?\")
   (forward-char 2))
  (t



[nongnu] elpa/caml 353edf8: Port caml-types-time to future Emacs

2021-12-15 Thread Paul Eggert
branch: elpa/caml
commit 353edf8e0d59f025f1da00da34266a4e4642c21f
Author: Paul Eggert 
Commit: Paul Eggert 

Port caml-types-time to future Emacs

* caml-types.el (caml-types-time):
Do not assume Emacs timestamp format, which is slated to change in
future versions.  Instead, use time-convert to convert to milliseconds
since the epoch modulo 100.  This is simpler and less glitchy than
the old version anyway (millseconds since the epoch modulo 1000, plus
1000 times seconds since the epoch modulo 65536 modulo 1000).
This code uses fboundp to be portable to Emacs 26 and earlier,
and can be simplified once we can assume Emacs 27.
---
 caml-types.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/caml-types.el b/caml-types.el
index c7c91a0..c03a72c 100644
--- a/caml-types.el
+++ b/caml-types.el
@@ -595,9 +595,11 @@ corresponding .annot file."
   nil)
 
 (defun caml-types-time ()
-  (let ((time (current-time)))
+  (if (fboundp 'time-convert)
+  (mod (car (time-convert nil 1000)) 100)
+(let ((time (current-time)))
  (+ (* (mod (cadr time) 1000) 1000)
-  (/ (cadr (cdr time)) 1000
+  (/ (cadr (cdr time)) 1000)
 
 (defun caml--release-event-p (original event)
   (and (equal (event-basic-type original) (event-basic-type event))



[nongnu] elpa/proof-general 07755c5: Port pg-pgip-id to future Emacs

2021-12-15 Thread Paul Eggert
branch: elpa/proof-general
commit 07755c54ac86df0c9e8bc915dfa12ef72b23e13a
Author: Paul Eggert 
Commit: Paul Eggert 

Port pg-pgip-id to future Emacs

* generic/pg-pgip.el (pg-pgip-id): Do not assume a particular form for
Emacs Lisp timestamps, as that is slated to change in a future Emacs
version.  Instead, use time-convert when available (since Emacs 27)
to generate the desired form.
---
 generic/pg-pgip.el | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/generic/pg-pgip.el b/generic/pg-pgip.el
index fbcb444..0954b50 100644
--- a/generic/pg-pgip.el
+++ b/generic/pg-pgip.el
@@ -281,7 +281,7 @@ Return a symbol representing the PGIP command processed, or 
nil."
 ;; TODO: display and cache the value in a dedicated buffer
 ;; FIXME: should idvalue have a context?
 (pg-response-message text)))
-
+
 ;;
 ;; Menu configuration [TODO]
 ;;
@@ -583,7 +583,10 @@ See `pg-pgip-assemble-packet' "
 (defconst pg-pgip-id
   ;; Identifier based on hostname, user, time, and (FIXME: possible?) ppid
   (concat (getenv "HOSTNAME") "/" (getenv "USER") "/"
- (let ((tm (current-time))) (format "%d.%d" (car tm) (cadr tm
+ (let ((tm (if (fboundp 'time-convert)
+   (time-convert nil 'list)
+ (current-time
+   (format "%d.%d" (car tm) (cadr tm
   "PGIP Identifier for this Emacs Proof General component.")
 
 (defvar pg-pgip-refseq nil



[elpa] externals/pyim updated (1f32674 -> ec8bbd9)

2021-12-15 Thread ELPA Syncer
elpasync pushed a change to branch externals/pyim.

  from  1f32674   * tests/pyim-tests.el (pyim-tests-pyim-dcache-export): 
New test.
   new  3923204   Add pyim-process-async-delay.
   new  ec8bbd9   * tests/pyim-tests.el (pyim-tests-pyim-cregexp): add wubi 
test: '


Summary of changes:
 pyim-process.el | 8 +++-
 tests/pyim-tests.el | 6 +-
 2 files changed, 12 insertions(+), 2 deletions(-)



[elpa] externals/pyim ec8bbd9 2/2: * tests/pyim-tests.el (pyim-tests-pyim-cregexp): add wubi test: aaaa'aaaa

2021-12-15 Thread ELPA Syncer
branch: externals/pyim
commit ec8bbd9265c0d407dcaf5a4305188fc7e6ff3a09
Author: Feng Shu 
Commit: Feng Shu 

* tests/pyim-tests.el (pyim-tests-pyim-cregexp): add wubi test: '
---
 tests/pyim-tests.el | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index 2d332ac..03acd9f 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -582,7 +582,11 @@
 (puthash "wubi/" (list "工" "恭恭敬敬") pyim-dhashcache-code2word)
 (puthash "wubi/adww" (list "欺" "蒙古人" "其人" "欺人" "斯人" "惹人" "匧" "歁" "莢") 
pyim-dhashcache-code2word)
 (should (equal (pyim-cregexp-build "") "\\(?:\\|[工恭]恭?敬?敬?\\)"))
-(should (equal (pyim-cregexp-build "adww") 
"\\(?:adww\\|[其匧惹斯欺歁莢蒙][人古]?人?\\)"
+(should (equal (pyim-cregexp-build "adww") 
"\\(?:adww\\|[其匧惹斯欺歁莢蒙][人古]?人?\\)"))
+(should (equal (pyim-cregexp-build "'")
+   
"\\(?:\\(?:'\\|\\|[工恭]恭?敬?敬?\\)\\(?:\\|[工恭]恭?敬?敬?\\)\\)"))
+(should (equal (pyim-cregexp-build-1 "'")
+   
"\\(?:'\\|\\|[工恭][恭]?[敬]?[敬]?\\)\\(?:\\|[工恭][恭]?[敬]?[敬]?\\)"
 
 ;; ** pyim-import 相关单元测试
 (ert-deftest pyim-tests-pyim-import-words-and-counts ()



[elpa] externals/pyim 3923204 1/2: Add pyim-process-async-delay.

2021-12-15 Thread ELPA Syncer
branch: externals/pyim
commit 3923204a062ff334f83f59b0f9637952c1842aa5
Author: Feng Shu 
Commit: Feng Shu 

Add pyim-process-async-delay.

* pyim-process.el (pyim-process-async-delay): New defcustom.
(pyim-process-run-1): Use pyim-process-async-delay.
---
 pyim-process.el | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/pyim-process.el b/pyim-process.el
index f59422c..ee68c65 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -71,6 +71,10 @@
 如果为 0 或者 nil, 则不等待立刻显示可选词."
   :type 'integer)
 
+(defcustom pyim-process-async-delay 0.3
+  "延迟多少秒开始异步获取词条。"
+  :type 'integer)
+
 (defvar pyim-process-input-ascii nil
   "是否开启 pyim 英文输入模式.")
 
@@ -252,7 +256,9 @@
 ;; 注意事项:异步流程对 page tooltip 有要求, 有些 page tooltip 是无法支持异
 ;; 步流程的。
 (setq pyim-process-run-async-timer
-  (run-with-timer 1 nil #'pyim-process-run-async))
+  (run-with-timer
+   pyim-process-async-delay
+   nil #'pyim-process-run-async))
 ;; 自动上屏功能
 (let ((autoselector-results
(mapcar (lambda (x)



[elpa] externals/org cfe4b17 2/9: org-element-cache: Optimise changed property drawer detection

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit cfe4b17d968791e3e39a1d48fd0002d87952deb6
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-element-cache: Optimise changed property drawer detection

* lisp/org-element.el (org-element--cache-for-removal): Only force
re-parsing headlines when the changed region falls within the headline
before property drawer end position.
---
 lisp/org-element.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 13e3ceb..c7418f9 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -6674,9 +6674,11 @@ known element in cache (it may start after END)."
 (goto-char (point-min))
 (while (and (org-at-comment-p) 
(bolp)) (forward-line))
 ;; Should not see property
-;; drawer inside robust
+;; drawer within changed
 ;; region.
-(not (looking-at 
org-property-drawer-re)
+(save-match-data
+  (or (not (looking-at 
org-property-drawer-re))
+  (> beg (match-end 0)))
(_ 'robust)
  ;; UP is a robust greater element containing changes.
  ;; We only need to extend its ending boundaries.



[elpa] externals/org 003968f 7/9: test-org-element: Rename cache-bugs test to cache-table

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit 003968f94e53d5d19784ee2fa28b35399191178e
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

test-org-element: Rename cache-bugs test to cache-table

* testing/lisp/test-org-element.el (test-org-element/cache): The bug
has been fixed.  Old test name does not make sense anymore.
---
 testing/lisp/test-org-element.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el
index 47e841a..f9fc114 100644
--- a/testing/lisp/test-org-element.el
+++ b/testing/lisp/test-org-element.el
@@ -4069,8 +4069,8 @@ Text
:end (org-element-property :parent (org-element-at-point)))
   (+ parent-end 3))
 
-(ert-deftest test-org-element/cache-bugs ()
-  "Test basic expectations and common pitfalls for cache."
+(ert-deftest test-org-element/cache-table ()
+  "Test handling edits in tables."
   ;; Unindented second row of the table should not be re-parented by
   ;; inserted item.
   (should



[elpa] externals/org f0c474e 9/9: test-org-element: Add new tests for org-element-cache

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit f0c474e659b81da0d2ab75e7ec109355965f7a1c
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

test-org-element: Add new tests for org-element-cache

* testing/lisp/test-org-element.el (test-org-element/cache): Add tests
for edits near :end of an element.
---
 testing/lisp/test-org-element.el | 16 
 1 file changed, 16 insertions(+)

diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el
index 54ca740..0f66d6c 100644
--- a/testing/lisp/test-org-element.el
+++ b/testing/lisp/test-org-element.el
@@ -4068,6 +4068,22 @@ Text
   (should (eq 'example-block (org-element-type 
(org-element-at-point
   (re-search-forward "END_")
   (org-element-type (org-element-at-point))
+  ;; Test edits near :end of element
+  (should-not (eq 'headline
+  (org-test-with-temp-text "* H1\nP1\n*H2\n"
+(org-element-cache-map #'ignore :granularity 'element)
+(insert "Blah")
+(org-element-type (org-element-at-point)
+  (should-not (eq 'headline
+  (org-test-with-temp-text "* H1\nP1\n*H2\n"
+(org-element-cache-map #'ignore :granularity 'element)
+(backward-delete-char 1)
+(org-element-type (org-element-at-point)
+  (should (eq 'headline
+  (org-test-with-temp-text "* H1\nP1\n

[elpa] externals/org fd93ad6 3/9: org-element-cache: Do not treat inserting newline at :begin sensitive

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit fd93ad698ad2bc65d81dcecc9fc63c167f13e84d
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-element-cache: Do not treat inserting newline at :begin sensitive

* lisp/org-element.el (org-element--cache-before-change): Do not match
`org-element--cache-sensitive-re' against an element starting at END
when END is at bol.  Such changes never break an element structure (as
opposed to inserting non-newline right at :begin of an element).
---
 lisp/org-element.el | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index c7418f9..b1edb6c 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -6522,7 +6522,17 @@ The function returns the new value of 
`org-element--cache-change-warning'."
(setq org-element--cache-change-tic (buffer-chars-modified-tick))
(goto-char beg)
(beginning-of-line)
-   (let ((bottom (save-excursion (goto-char end) (line-end-position
+   (let ((bottom (save-excursion
+   (goto-char end)
+   (if (bolp)
+   ;; FIXME: Potential pitfall.
+   ;; We are appending to an element end.
+   ;; Unless the last inserted char is not
+   ;; newline, the next element is not broken
+   ;; and does not need to be purged from the
+   ;; cache.
+   end
+ (line-end-position)
  (prog1
  (let ((org-element--cache-change-warning-before 
org-element--cache-change-warning)
(org-element--cache-change-warning-after))



[elpa] externals/org 23d8d59 1/9: ob-gnuplot: Use org backend when assigning table to variable

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit 23d8d59df80a25f36dc35aa94b397ce2b0a75ae0
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

ob-gnuplot: Use org backend when assigning table to variable

* lisp/ob-gnuplot.el (org-babel-gnuplot-table-to-data): Switch to 'org
backend when exporting table data to plain text table.  ascii backend
incorrectly handles quote transcoders that change the column width and
sometimes throws an error.  (ascii backend simply ignores transcoded
table cells and calculates width based on the initial cell text).
---
 lisp/ob-gnuplot.el | 20 +++-
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/lisp/ob-gnuplot.el b/lisp/ob-gnuplot.el
index 8c4a595..b72126a 100644
--- a/lisp/ob-gnuplot.el
+++ b/lisp/ob-gnuplot.el
@@ -287,11 +287,21 @@ Pass PARAMS through to `orgtbl-to-generic' when exporting 
TABLE."
   (with-temp-file data-file
 (insert (let ((org-babel-gnuplot-timestamp-fmt
   (or (plist-get params :timefmt) "%Y-%m-%d-%H:%M:%S")))
- (orgtbl-to-generic
-  table
-  (org-combine-plists
-   '(:sep "\t" :fmt org-babel-gnuplot-quote-tsv-field :raw t 
:backend ascii)
-   params)
+  (replace-regexp-in-string
+   ;; org export backend adds "|" at the beginning/end of
+   ;; the table lines.  Strip those.
+   "^|\\(.+\\)|$"
+   "\\1"
+  (orgtbl-to-generic
+   table
+   (org-combine-plists
+'( :sep "\t" :fmt org-babel-gnuplot-quote-tsv-field
+;; Two setting below are needed to make :fmt work.
+:raw t
+;; Use `org', not `ascii' because `ascii' may
+;; sometimes mishandle quoted strings.
+:backend org)
+params))
   data-file)
 
 (provide 'ob-gnuplot)



[elpa] externals/org updated (8908fba -> f0c474e)

2021-12-15 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  8908fba   compat: Silence byte-compiler
   new  23d8d59   ob-gnuplot: Use org backend when assigning table to 
variable
   new  cfe4b17   org-element-cache: Optimise changed property drawer 
detection
   new  fd93ad6   org-element-cache: Do not treat inserting newline at 
:begin sensitive
   new  6339c62   org-element-cache: Do not consider BEGIN lines of 
elements sensitive
   new  6998536   org-element-cache: Consider non-PROPERTIES drawers robust
   new  5840e4d   org-element-cache Do not make headline non-robust after 
changes at :end
   new  003968f   test-org-element: Rename cache-bugs test to cache-table
   new  4bad221   test-org-element: Add new tests
   new  f0c474e   test-org-element: Add new tests for org-element-cache


Summary of changes:
 lisp/ob-gnuplot.el   | 20 ++-
 lisp/org-element.el  | 28 +++---
 testing/lisp/test-org-element.el | 43 ++--
 3 files changed, 77 insertions(+), 14 deletions(-)



[elpa] externals/org 6339c62 4/9: org-element-cache: Do not consider BEGIN lines of elements sensitive

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit 6339c622f8cb7621161454e7efd8411514fc762a
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-element-cache: Do not consider BEGIN lines of elements sensitive

* lisp/org-element.el (org-element--cache-sensitive-re): Remove
 #+begin_ and \begin{ lines from sensitive regexp.  Such changes can
 be handled without a need to re-parse from earlier position.  If a
 change introduces a new element, the new element will be recognised
 and the unupdated elements not intersecting with the new element will
 be handled during Phase 1.
---
 lisp/org-element.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index b1edb6c..30721fe 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -6491,10 +6491,9 @@ If you observe Emacs hangs frequently, please report 
this to Org mode mailing li
"^\\*+ " "\\|"
"end{[A-Za-z0-9*]+}[ \t]*$" "\\|"
"^[ \t]*\\(?:"
-   "#\\+\\(?:BEGIN[:_]\\|END\\(?:_\\|:?[ \t]*$\\)\\)" "\\|"
+   "#\\+END\\(?:_\\|:?[ \t]*$\\)" "\\|"
org-list-full-item-re "\\|"
":\\(?: \\|$\\)" "\\|"
-   "begin{[A-Za-z0-9*]+}" "\\|"
":\\(?:\\w\\|[-_]\\)+:[ \t]*$"
"\\)")
   "Regexp matching a sensitive line, structure wise.



[elpa] externals/org 6998536 5/9: org-element-cache: Consider non-PROPERTIES drawers robust

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit 69985367cd5a1f39d060b295f66c67bc245eb93f
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-element-cache: Consider non-PROPERTIES drawers robust

* lisp/org-element.el (org-element--cache-for-removal): Drawers are
generally robust elements (they cannot be changed if a non-sensitive
change is made inside their contents).  The only exception is
PROPERTIES drawer that may switch back and forth between ordinary
drawer and properties drawer depending on its contents.  The old code
treated all possible drawer as non-robust for this reason, degrading
performance on large LOGBOOK drawers that are now processed much
faster since they do not need to be removed and re-parsed on every
single change.
---
 lisp/org-element.el | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 30721fe..2e1c108 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -6631,7 +6631,10 @@ known element in cache (it may start after END)."
(while up
  (if (let ((type (org-element-type up)))
 (or (and (memq type '( center-block dynamic-block
-   quote-block special-block))
+   quote-block special-block
+   drawer))
+ (or (not (eq type 'drawer))
+ (not (string= "PROPERTIES" (org-element-property 
:drawer-name up
  ;; Sensitive change.  This is
  ;; unconditionally non-robust change.
  (not org-element--cache-change-warning)



[elpa] externals/org 5840e4d 6/9: org-element-cache Do not make headline non-robust after changes at :end

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit 5840e4d61abc9238c87e67e001fc79cef29100e6
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-element-cache Do not make headline non-robust after changes at :end

* lisp/org-element.el (org-element--cache-for-removal): When changes
involve :end of a headline, allow it to be re-parsed synchronously.
---
 lisp/org-element.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 2e1c108..4ed2408 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -6716,7 +6716,7 @@ known element in cache (it may start after END)."
   ;; The change is not inside headline.  Not
   ;; updating here.
   (not (<= beg (org-element-property :begin up)))
-  (not (>= end (org-element-property :end up)))
+  (not (> end (org-element-property :end up)))
   (let ((current (org-with-point-at 
(org-element-property :begin up)
(org-element-with-disabled-cache
(org-element--current-element 
(point-max))



[elpa] externals/org 4bad221 8/9: test-org-element: Add new tests

2021-12-15 Thread ELPA Syncer
branch: externals/org
commit 4bad221a609aabde27b8e793ff812c22a4bb071a
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

test-org-element: Add new tests

* testing/lisp/test-org-element.el (test-org-element/cache): Add new
tests checking against intersected elements and checking that Phase 2
removes obsolete elements.
---
 testing/lisp/test-org-element.el | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el
index f9fc114..54ca740 100644
--- a/testing/lisp/test-org-element.el
+++ b/testing/lisp/test-org-element.el
@@ -4045,6 +4045,29 @@ Text
   (delete-char -1)
   (search-backward "Para1")
   (org-element-type (org-element-at-point))
+  ;; Make sure that we do not generate intersecting elements.
+  (should (eq 'paragraph
+  (org-test-with-temp-text 
":DRAWER:\nP1\n\n:END:\n#+END_EXAMPLE"
+(let ((org-element-use-cache t))
+  (org-element-at-point (point-max))
+  (org-element-at-point)
+  (insert "#+BEGIN_EXAMPLE")
+  (org-element-type (org-element-at-point))
+  ;; But yet correctly slurp obsolete elements inside a new element.
+  (should (eq 'example-block
+  (org-test-with-temp-text 
":DRAWER:\nP1\n\nP2\n#+END_EXAMPLE\n:END:"
+(let ((org-element-use-cache t))
+  (org-element-at-point (point-max))
+  (save-excursion
+(re-search-forward "P2")
+(should (eq 'paragraph (org-element-type 
(org-element-at-point
+(re-search-forward "END_")
+(should (eq 'paragraph (org-element-type 
(org-element-at-point)
+  (insert "#+BEGIN_EXAMPLE")
+  (re-search-forward "P2")
+  (should (eq 'example-block (org-element-type 
(org-element-at-point
+  (re-search-forward "END_")
+  (org-element-type (org-element-at-point))
   ;; Corner case: watch out drawers named "PROPERTIES" as they are
   ;; fragile, unlike to other drawers.
   (should



[elpa] externals/hyperbole a561a4a: Remove wrapped closing parens (#135)

2021-12-15 Thread ELPA Syncer
branch: externals/hyperbole
commit a561a4ace18733deec2ca0583e471f7c2c9fecec
Author: Mats Lidell 
Commit: GitHub 

Remove wrapped closing parens (#135)
---
 hargs.el| 12 
 hbut.el |  9 +++--
 hgnus.el|  3 +--
 hib-doc-id.el   |  3 +--
 hib-social.el   |  6 ++
 hinit.el|  3 +--
 hmail.el|  3 +--
 hmh.el  |  6 ++
 hmouse-drv.el   |  3 +--
 hmouse-sh.el| 27 +--
 hpath.el| 12 
 hrmail.el   |  3 +--
 htz.el  |  3 +--
 hui-jmenu.el|  3 +--
 hui-menu.el | 39 +--
 hui-mini.el | 48 
 hui-mouse.el| 18 ++
 hui-select.el   |  9 +++--
 hui.el  | 12 
 hversion.el |  3 +--
 hvm.el  |  9 +++--
 hypb-maintenance.el |  3 +--
 hyrolo-menu.el  | 18 ++
 hyrolo.el   |  6 ++
 kotl/kexport.el |  3 +--
 kotl/kfile.el   |  6 ++
 kotl/kfill.el   |  3 +--
 kotl/kmenu.el   | 25 -
 kotl/kotl-mode.el   | 12 
 kotl/kvspec.el  |  4 +---
 30 files changed, 104 insertions(+), 210 deletions(-)

diff --git a/hargs.el b/hargs.el
index 3080eb3..f4b7a72 100644
--- a/hargs.el
+++ b/hargs.el
@@ -346,8 +346,7 @@ Handles all of the interactive argument types that 
`hargs:iform-read' does."
   ;; Possibly non-existent file name
   ((when no-default (hpath:at-p 'file 'non-exist)))
   (no-default nil)
-  ((buffer-file-name))
-  ))
+  ((buffer-file-name
((eq hargs:reading-p 'directory)
 (cond ((derived-mode-p 'dired-mode)
(let ((dir (dired-get-filename nil t)))
@@ -360,12 +359,10 @@ Handles all of the interactive argument types that 
`hargs:iform-read' does."
   ;; Possibly non-existent directory name
   ((when no-default (hpath:at-p 'directory 'non-exist)))
   (no-default nil)
-  (default-directory)
-  ))
+  (default-directory)))
((eq hargs:reading-p 'string)
 (or (hargs:delimited "\"" "\"") (hargs:delimited "'" "'")
-(hargs:delimited "`" "'")
-))
+(hargs:delimited "`" "'")))
((or (eq hargs:reading-p 'actype)
 (eq hargs:reading-p 'actypes))
 (let ((name (hargs:find-tag-default)))
@@ -763,8 +760,7 @@ help when appropriate."
  ;; Get Lisp expression but don't evaluate.
  (?x . (sexpression . (read-minibuffer prompt default)))
  ;; Get Lisp expression and evaluate.
- (?X . (sexpression . (eval-minibuffer prompt default)))
- ))
+ (?X . (sexpression . (eval-minibuffer prompt default)
 
 (defvar hargs:iform-vector nil
   "Vector of forms for each interactive command character code.")
diff --git a/hbut.el b/hbut.el
index 835705f..1f03b8a 100644
--- a/hbut.el
+++ b/hbut.el
@@ -812,8 +812,7 @@ Suitable for use as part of `write-file-functions'."
 ;; never holding a buffer which is out of sync with file,
 ;; due to some other user's edits.
 ;; Maybe this should be user or site configurable.
-(or (buffer-modified-p buf) (kill-buffer buf))
-)
+(or (buffer-modified-p buf) (kill-buffer buf)))
   ;; Must return nil, so can be used as part of write-file-functions.
   nil)
 
@@ -934,8 +933,7 @@ Ignore email-related buffers."
(goto-char (+ (point) (- end start)))
(if (not (eq (following-char) ?\ ))
(insert ?\ ))
-   (insert comment-end)
-   )
+   (insert comment-end))
 
 ;;; Regexps derived in part from "filladapt.el" by Kyle E. Jones under
 ;;; the GPL.
@@ -961,8 +959,7 @@ Ignore email-related buffers."
 ;; Fortran comments
 "\n[Cc][ \t]+"
 ;; Postscript comments
-"\n[ \t]*\\(%+[ \t]*\\)+"
-)
+"\n[ \t]*\\(%+[ \t]*\\)+")
   "List of regexps of fill prefixes to remove from the middle of buttons.")
 
 (defunhbut:fill-prefix-remove (label)
diff --git a/hgnus.el b/hgnus.el
index fd0e4ad..48efdd2 100644
--- a/hgnus.el
+++ b/hgnus.el
@@ -93,8 +93,7 @@ as ARG means don't indent and don't delete any header fields."
   (interactive "P")
   (mail-yank-original arg)
   (exchange-point-and-mark)
-  (run-hooks 'news-reply-header-hook))
-  )
+  (run-hooks 'news-reply-header-hook)))
 
 ;;; 
 ;;; Private variables
diff --git a/hib-doc-id.el b/hib-doc-id.el
index 68f799b..fa478cf 100644
--- a/hib-doc-id.el
+++ b/hib-doc-id.el
@@ -196,8 +196,7 @@ Also display standard Hyperbole help for implicit button 
BUT."
(set-buffer-modi