diff options
| author | Po Lu | 2023-04-12 07:22:03 +0800 |
|---|---|---|
| committer | Po Lu | 2023-04-12 07:22:03 +0800 |
| commit | 91da696bbc43c39efeaeb70a86410d3652bee14d (patch) | |
| tree | 9cec7648db5eff52f868a007aecb2eb520e7a32f | |
| parent | 933b5b51ab1be789aeef0b25e12e2f033d90ee3a (diff) | |
| parent | 560950468588117b264a9f916fb578e0eb2a124a (diff) | |
| download | emacs-91da696bbc43c39efeaeb70a86410d3652bee14d.tar.gz emacs-91da696bbc43c39efeaeb70a86410d3652bee14d.zip | |
Merge remote-tracking branch 'origin/master' into feature/android
| -rw-r--r-- | doc/misc/eshell.texi | 2 | ||||
| -rw-r--r-- | etc/NEWS | 5 | ||||
| -rw-r--r-- | lisp/allout.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-unix.el | 11 | ||||
| -rw-r--r-- | lisp/gnus/nndiary.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/nnselect.el | 1 | ||||
| -rw-r--r-- | lisp/org/org-table.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/flymake.el | 28 |
8 files changed, 40 insertions, 15 deletions
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 1c33c04f647..4e2bddf42af 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi | |||
| @@ -602,6 +602,8 @@ disabled by default. | |||
| 602 | @cmindex egrep | 602 | @cmindex egrep |
| 603 | @itemx fgrep | 603 | @itemx fgrep |
| 604 | @cmindex fgrep | 604 | @cmindex fgrep |
| 605 | @itemx rgrep | ||
| 606 | @cmindex rgrep | ||
| 605 | @itemx glimpse | 607 | @itemx glimpse |
| 606 | @cmindex glimpse | 608 | @cmindex glimpse |
| 607 | The @command{grep} commands are compatible with GNU @command{grep}, | 609 | The @command{grep} commands are compatible with GNU @command{grep}, |
| @@ -192,6 +192,11 @@ correctly unloads Eshell and all of its modules. | |||
| 192 | After manually editing 'eshell-aliases-file', you can use this command | 192 | After manually editing 'eshell-aliases-file', you can use this command |
| 193 | to load the edited aliases. | 193 | to load the edited aliases. |
| 194 | 194 | ||
| 195 | +++ | ||
| 196 | *** 'rgrep' is now a builtin command. | ||
| 197 | Running "rgrep" in Eshell now uses the Emacs grep facility instead of | ||
| 198 | calling external rgrep. | ||
| 199 | |||
| 195 | ** Shell Mode | 200 | ** Shell Mode |
| 196 | 201 | ||
| 197 | +++ | 202 | +++ |
diff --git a/lisp/allout.el b/lisp/allout.el index 4d5d814ae01..be2fd632c69 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -5390,7 +5390,7 @@ Defaults: | |||
| 5390 | ;; not specified -- default it: | 5390 | ;; not specified -- default it: |
| 5391 | (setq tobuf (concat "*" (buffer-name frombuf) " exposed*"))) | 5391 | (setq tobuf (concat "*" (buffer-name frombuf) " exposed*"))) |
| 5392 | (if (listp format) | 5392 | (if (listp format) |
| 5393 | (nreverse format)) | 5393 | (setq format (reverse format))) |
| 5394 | 5394 | ||
| 5395 | (let* ((listified | 5395 | (let* ((listified |
| 5396 | (progn (set-buffer frombuf) | 5396 | (progn (set-buffer frombuf) |
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el index d550910f4f0..a792493e071 100644 --- a/lisp/eshell/em-unix.el +++ b/lisp/eshell/em-unix.el | |||
| @@ -145,9 +145,10 @@ Otherwise, Emacs will attempt to use rsh to invoke du on the remote machine." | |||
| 145 | (add-hook 'pcomplete-try-first-hook | 145 | (add-hook 'pcomplete-try-first-hook |
| 146 | 'eshell-complete-host-reference nil t)) | 146 | 'eshell-complete-host-reference nil t)) |
| 147 | (setq-local eshell-complex-commands | 147 | (setq-local eshell-complex-commands |
| 148 | (append '("grep" "egrep" "fgrep" "agrep" "glimpse" "locate" | 148 | (append '("grep" "egrep" "fgrep" "agrep" "rgrep" |
| 149 | "cat" "time" "cp" "mv" "make" "du" "diff") | 149 | "glimpse" "locate" "cat" "time" "cp" "mv" |
| 150 | eshell-complex-commands))) | 150 | "make" "du" "diff") |
| 151 | eshell-complex-commands))) | ||
| 151 | 152 | ||
| 152 | (defalias 'eshell/date 'current-time-string) | 153 | (defalias 'eshell/date 'current-time-string) |
| 153 | (defalias 'eshell/basename 'file-name-nondirectory) | 154 | (defalias 'eshell/basename 'file-name-nondirectory) |
| @@ -773,6 +774,10 @@ external command." | |||
| 773 | "Use Emacs grep facility instead of calling external agrep." | 774 | "Use Emacs grep facility instead of calling external agrep." |
| 774 | (eshell-grep "agrep" args)) | 775 | (eshell-grep "agrep" args)) |
| 775 | 776 | ||
| 777 | (defun eshell/rgrep (&rest args) | ||
| 778 | "Use Emacs grep facility instead of calling external rgrep." | ||
| 779 | (eshell-grep "grep" (append '("-rH") args) t)) | ||
| 780 | |||
| 776 | (defun eshell/glimpse (&rest args) | 781 | (defun eshell/glimpse (&rest args) |
| 777 | "Use Emacs grep facility instead of calling external glimpse." | 782 | "Use Emacs grep facility instead of calling external glimpse." |
| 778 | (let (null-device) | 783 | (let (null-device) |
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index be2bdc9bb15..8728aab1def 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el | |||
| @@ -1373,10 +1373,10 @@ all. This may very well take some time.") | |||
| 1373 | (setq day (+ 7 day)))) | 1373 | (setq day (+ 7 day)))) |
| 1374 | ;; Finally, if we have some days, they are valid | 1374 | ;; Finally, if we have some days, they are valid |
| 1375 | (when days | 1375 | (when days |
| 1376 | (sort days #'>) | ||
| 1377 | (throw 'found | 1376 | (throw 'found |
| 1378 | (encode-time 0 minute hour | 1377 | (encode-time 0 minute hour |
| 1379 | (car days) month year time-zone))) | 1378 | (apply #'max days) |
| 1379 | month year time-zone))) | ||
| 1380 | ))))) | 1380 | ))))) |
| 1381 | ;; There's an upper limit, but we didn't find any last occurrence. | 1381 | ;; There's an upper limit, but we didn't find any last occurrence. |
| 1382 | ;; This means that the schedule is undecidable. This can happen if | 1382 | ;; This means that the schedule is undecidable. This can happen if |
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el index 9a2957c9f52..af4dbdc35df 100644 --- a/lisp/gnus/nnselect.el +++ b/lisp/gnus/nnselect.el | |||
| @@ -909,6 +909,7 @@ article came from is also searched." | |||
| 909 | ;; now work on each originating group one at a time | 909 | ;; now work on each originating group one at a time |
| 910 | (pcase-dolist (`(,artgroup . ,artlist) | 910 | (pcase-dolist (`(,artgroup . ,artlist) |
| 911 | (numbers-by-group gnus-newsgroup-articles)) | 911 | (numbers-by-group gnus-newsgroup-articles)) |
| 912 | (setq artlist (sort artlist #'<)) | ||
| 912 | (let* ((group-info (gnus-get-info artgroup)) | 913 | (let* ((group-info (gnus-get-info artgroup)) |
| 913 | (old-unread (gnus-list-of-unread-articles artgroup)) | 914 | (old-unread (gnus-list-of-unread-articles artgroup)) |
| 914 | newmarked delta-marks) | 915 | newmarked delta-marks) |
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index 5116b1127f7..a38f2a283d7 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el | |||
| @@ -2861,7 +2861,7 @@ list, `literal' is for the format specifier L." | |||
| 2861 | (if lispp | 2861 | (if lispp |
| 2862 | (if (eq lispp 'literal) | 2862 | (if (eq lispp 'literal) |
| 2863 | elements | 2863 | elements |
| 2864 | (if (and (eq elements "") (not keep-empty)) | 2864 | (if (and (equal elements "") (not keep-empty)) |
| 2865 | "" | 2865 | "" |
| 2866 | (prin1-to-string | 2866 | (prin1-to-string |
| 2867 | (if numbers (string-to-number elements) elements)))) | 2867 | (if numbers (string-to-number elements) elements)))) |
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index a352adbba19..1cd9f0a6b0c 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el | |||
| @@ -4,9 +4,9 @@ | |||
| 4 | 4 | ||
| 5 | ;; Author: Pavel Kobyakov <pk_at_work@yahoo.com> | 5 | ;; Author: Pavel Kobyakov <pk_at_work@yahoo.com> |
| 6 | ;; Maintainer: João Távora <joaotavora@gmail.com> | 6 | ;; Maintainer: João Távora <joaotavora@gmail.com> |
| 7 | ;; Version: 1.2.2 | 7 | ;; Version: 1.3.2 |
| 8 | ;; Keywords: c languages tools | 8 | ;; Keywords: c languages tools |
| 9 | ;; Package-Requires: ((emacs "26.1") (eldoc "1.1.0") (project "0.7.1")) | 9 | ;; Package-Requires: ((emacs "26.1") (eldoc "1.14.0") (project "0.7.1")) |
| 10 | 10 | ||
| 11 | ;; This is a GNU ELPA :core package. Avoid functionality that is not | 11 | ;; This is a GNU ELPA :core package. Avoid functionality that is not |
| 12 | ;; compatible with the version of Emacs recorded above. | 12 | ;; compatible with the version of Emacs recorded above. |
| @@ -371,6 +371,12 @@ diagnostics at BEG." | |||
| 371 | (flymake--diag-accessor flymake-diagnostic-end flymake--diag-end end) | 371 | (flymake--diag-accessor flymake-diagnostic-end flymake--diag-end end) |
| 372 | (flymake--diag-accessor flymake-diagnostic-buffer flymake--diag-locus locus) | 372 | (flymake--diag-accessor flymake-diagnostic-buffer flymake--diag-locus locus) |
| 373 | 373 | ||
| 374 | (defun flymake-diagnostic-oneliner (diag) | ||
| 375 | "Get truncated one-line text string for diagnostic DIAG." | ||
| 376 | (let ((txt (flymake-diagnostic-text diag))) | ||
| 377 | (substring txt 0 (cl-loop for i from 0 for a across txt | ||
| 378 | when (eq a ?\n) return i)))) | ||
| 379 | |||
| 374 | (cl-defun flymake--overlays (&key beg end filter compare key) | 380 | (cl-defun flymake--overlays (&key beg end filter compare key) |
| 375 | "Get flymake-related overlays. | 381 | "Get flymake-related overlays. |
| 376 | If BEG is non-nil and END is nil, consider only `overlays-at' | 382 | If BEG is non-nil and END is nil, consider only `overlays-at' |
| @@ -1254,10 +1260,17 @@ START and STOP and LEN are as in `after-change-functions'." | |||
| 1254 | (defun flymake-eldoc-function (report-doc &rest _) | 1260 | (defun flymake-eldoc-function (report-doc &rest _) |
| 1255 | "Document diagnostics at point. | 1261 | "Document diagnostics at point. |
| 1256 | Intended for `eldoc-documentation-functions' (which see)." | 1262 | Intended for `eldoc-documentation-functions' (which see)." |
| 1257 | (let ((diags (flymake-diagnostics (point)))) | 1263 | (when-let ((diags (flymake-diagnostics (point)))) |
| 1258 | (when diags | 1264 | (funcall report-doc |
| 1259 | (funcall report-doc | 1265 | (mapconcat #'flymake-diagnostic-text diags "\n") |
| 1260 | (mapconcat #'flymake-diagnostic-text diags "\n"))))) | 1266 | :echo (mapconcat (lambda (d) |
| 1267 | (propertize (flymake-diagnostic-oneliner d) | ||
| 1268 | 'face | ||
| 1269 | (flymake--lookup-type-property | ||
| 1270 | (flymake-diagnostic-type d) | ||
| 1271 | 'face | ||
| 1272 | 'flymake-error))) | ||
| 1273 | diags "\n")))) | ||
| 1261 | 1274 | ||
| 1262 | (defun flymake-goto-next-error (&optional n filter interactive) | 1275 | (defun flymake-goto-next-error (&optional n filter interactive) |
| 1263 | "Go to Nth next Flymake diagnostic that matches FILTER. | 1276 | "Go to Nth next Flymake diagnostic that matches FILTER. |
| @@ -1582,8 +1595,7 @@ filename of the diagnostic relative to that directory." | |||
| 1582 | "\\1\\2" bname) | 1595 | "\\1\\2" bname) |
| 1583 | "(anon)") | 1596 | "(anon)") |
| 1584 | 'help-echo (format "From `%s' backend" backend)) | 1597 | 'help-echo (format "From `%s' backend" backend)) |
| 1585 | (,(replace-regexp-in-string "\n.*" "" | 1598 | (,(flymake-diagnostic-oneliner diag) |
| 1586 | (flymake-diagnostic-text diag)) | ||
| 1587 | mouse-face highlight | 1599 | mouse-face highlight |
| 1588 | help-echo "mouse-2: visit this diagnostic" | 1600 | help-echo "mouse-2: visit this diagnostic" |
| 1589 | face nil | 1601 | face nil |