aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo Lu2023-04-12 07:22:03 +0800
committerPo Lu2023-04-12 07:22:03 +0800
commit91da696bbc43c39efeaeb70a86410d3652bee14d (patch)
tree9cec7648db5eff52f868a007aecb2eb520e7a32f
parent933b5b51ab1be789aeef0b25e12e2f033d90ee3a (diff)
parent560950468588117b264a9f916fb578e0eb2a124a (diff)
downloademacs-91da696bbc43c39efeaeb70a86410d3652bee14d.tar.gz
emacs-91da696bbc43c39efeaeb70a86410d3652bee14d.zip
Merge remote-tracking branch 'origin/master' into feature/android
-rw-r--r--doc/misc/eshell.texi2
-rw-r--r--etc/NEWS5
-rw-r--r--lisp/allout.el2
-rw-r--r--lisp/eshell/em-unix.el11
-rw-r--r--lisp/gnus/nndiary.el4
-rw-r--r--lisp/gnus/nnselect.el1
-rw-r--r--lisp/org/org-table.el2
-rw-r--r--lisp/progmodes/flymake.el28
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
607The @command{grep} commands are compatible with GNU @command{grep}, 609The @command{grep} commands are compatible with GNU @command{grep},
diff --git a/etc/NEWS b/etc/NEWS
index 5bcd9d0f700..3a44d016de2 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -192,6 +192,11 @@ correctly unloads Eshell and all of its modules.
192After manually editing 'eshell-aliases-file', you can use this command 192After manually editing 'eshell-aliases-file', you can use this command
193to load the edited aliases. 193to load the edited aliases.
194 194
195+++
196*** 'rgrep' is now a builtin command.
197Running "rgrep" in Eshell now uses the Emacs grep facility instead of
198calling 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.
376If BEG is non-nil and END is nil, consider only `overlays-at' 382If 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.
1256Intended for `eldoc-documentation-functions' (which see)." 1262Intended 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