emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 2d1a96e878e 4/4: Merge from origin/emacs-29


From: Eli Zaretskii
Subject: master 2d1a96e878e 4/4: Merge from origin/emacs-29
Date: Thu, 6 Apr 2023 14:40:42 -0400 (EDT)

branch: master
commit 2d1a96e878ef8dd9a27fb360aa6c85b1dc9b856e
Merge: f7e8586104b 305246d9726
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Merge from origin/emacs-29
    
    305246d9726 Add emoji-zoom-reset
    470d269ec1f Make emoji-zoom-{increase,decrease} set text properties c...
    63d4a86f8d1 Fix transforming sliced images
    5e1953a8f85 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun...
    6b9f9df9454 ; Improve documentation of 'declare-function'
    81d1f46d0fe ; Avoid compiler warning in eglot.el.
    38cdfcb2128 ; Fix description of new 'keymap-*' functions
    257090b8728 Adapt EMBA scripts.
    90c07d3fdd2 Another terminology fix in ELisp reference manual
    a832bc7090c Correct terminology in Elisp Reference Manual
    db308233cb3 Comment out GNUSTEP jobs on EMBA (again)
    8c1b1022439 ; * lisp/image.el (put-image): Doc fix.
    eda88c63adf ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
    728bc09cf3c Fix regexp string escaping mistake in vhdl-mode.el (bug#6...
    479626dbac9 Update to Org 9.6.3-2-gf2949d
    5a1c9aace70 ; Add a bit more docstring to tsx-ts-mode (bug#62429)
    86cf9fd932c Eglot: don't watch directories that don't exist
    82d0b6c64ea ; * lisp/subr.el (use-dialog-box-p): Fix last change.
    3619663f982 Preserve peer information for web page in eww-readable
    cb8d6ab648f * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI...
    fb2c4409207 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n...
    
    # Conflicts:
    #       etc/NEWS
---
 doc/emacs/trouble.texi               |  2 +-
 doc/lispref/commands.texi            |  6 ++--
 doc/lispref/frames.texi              |  2 +-
 doc/lispref/functions.texi           | 19 ++++++------
 doc/lispref/keymaps.texi             | 19 +++++++-----
 etc/NEWS.29                          | 13 ++++++--
 etc/refcards/orgcard.tex             |  2 +-
 lisp/image.el                        | 50 +++++++++++++++++++++---------
 lisp/international/emoji.el          | 60 +++++++++++++++++++++++++-----------
 lisp/international/mule-cmds.el      |  3 +-
 lisp/net/eww.el                      |  2 +-
 lisp/org/ob-comint.el                | 37 ++++++++++------------
 lisp/org/org-version.el              |  4 +--
 lisp/org/org.el                      | 35 ++++++++++-----------
 lisp/progmodes/c-ts-mode.el          |  6 +++-
 lisp/progmodes/eglot.el              |  6 ++--
 lisp/progmodes/typescript-ts-mode.el |  5 ++-
 lisp/progmodes/vhdl-mode.el          |  2 +-
 lisp/subr.el                         |  7 +++--
 test/infra/Dockerfile.emba           |  4 +--
 20 files changed, 172 insertions(+), 112 deletions(-)

diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 0166c613144..db78895bb5b 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -1075,7 +1075,7 @@ report.  (The backtrace is more detailed if you load the 
relevant Lisp
 @file{*.el} source files before triggering the error, so do that if
 you know how to find and load those files.)
 
-To debug the error, we suggest to use Edebug.  @xref{Edebug,, Edebug,
+To debug the error, we suggest using Edebug.  @xref{Edebug,, Edebug,
 elisp, the Emacs Lisp Reference Manual}, for information on debugging
 Emacs Lisp programs with the Edebug package.
 
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 62a0939a47e..30765a7e8f7 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1960,8 +1960,8 @@ end-position of a drag event, this position list may 
represent a
 location outside the boundaries of the initially selected frame, in
 which case the list contains that frame in place of a window.
 
-The special form @code{track-mouse} enables generation of motion
-events within its body.  Outside of @code{track-mouse} forms, Emacs
+The @code{track-mouse} macro enables generation of motion
+events within its body.  Outside of @code{track-mouse} body, Emacs
 does not generate events for mere motion of the mouse, and these
 events do not appear.  @xref{Mouse Tracking}.
 
@@ -2443,7 +2443,7 @@ into another window.  That produces a pair of events like 
these:
 
 The frame with input focus might not take up the entire screen, and
 the user might move the mouse outside the scope of the frame.  Inside
-the @code{track-mouse} special form, that produces an event like this:
+the @code{track-mouse} macro, that produces an event like this:
 
 @smallexample
 (mouse-movement (#<frame *ielm* 0x102849a30> nil (563 . 205) 532301936))
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index e0766ad0b43..7cae94d2627 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -3577,7 +3577,7 @@ the mouse position list will be @code{nil} if the value is
 @code{drag-source}.  This is useful to determine if a frame is not
 directly visible underneath the mouse pointer.
 
-The @code{track-mouse} form causes Emacs to generate mouse motion
+The @code{track-mouse} macro causes Emacs to generate mouse motion
 events by binding the variable @code{track-mouse} to a
 non-@code{nil} value.  If that variable has the special value
 @code{dragging}, it additionally instructs the display engine to
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index e9841821431..42441361fea 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -593,8 +593,8 @@ symbol a function definition, its function cell is said to 
be
   In practice, nearly all functions have names, and are referred to by
 their names.  You can create a named Lisp function by defining a
 lambda expression and putting it in a function cell (@pxref{Function
-Cells}).  However, it is more common to use the @code{defun} special
-form, described in the next section.
+Cells}).  However, it is more common to use the @code{defun} macro,
+described in the next section.
 @ifnottex
 @xref{Defining Functions}.
 @end ifnottex
@@ -2693,13 +2693,14 @@ byte compiler can check that the calls match the 
declaration.
 Tell the byte compiler to assume that @var{function} is defined in the
 file @var{file}.  The optional third argument @var{arglist} is either
 @code{t}, meaning the argument list is unspecified, or a list of
-formal parameters in the same style as @code{defun}.  An omitted
-@var{arglist} defaults to @code{t}, not @code{nil}; this is atypical
-behavior for omitted arguments, and it means that to supply a fourth
-but not third argument one must specify @code{t} for the third-argument
-placeholder instead of the usual @code{nil}.  The optional fourth
-argument @var{fileonly} non-@code{nil} means check only that
-@var{file} exists, not that it actually defines @var{function}.
+formal parameters in the same style as @code{defun} (including the
+parentheses).  An omitted @var{arglist} defaults to @code{t}, not
+@code{nil}; this is atypical behavior for omitted arguments, and it
+means that to supply a fourth but not third argument one must specify
+@code{t} for the third-argument placeholder instead of the usual
+@code{nil}.  The optional fourth argument @var{fileonly}
+non-@code{nil} means check only that @var{file} exists, not that it
+actually defines @var{function}.
 @end defmac
 
 @findex check-declare-file
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index fdab5075b94..6d07ad5be2c 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -768,8 +768,8 @@ prefix definition, and then by those from the global map.
   In the following example, we make @kbd{C-p} a prefix key in the local
 keymap, in such a way that @kbd{C-p} is identical to @kbd{C-x}.  Then
 the binding for @kbd{C-p C-f} is the function @code{find-file}, just
-like @kbd{C-x C-f}.  The key sequence @kbd{C-p 6} is not found in any
-active keymap.
+like @kbd{C-x C-f}.  By contrast, the key sequence @kbd{C-p 9} is not
+found in any active keymap.
 
 @example
 @group
@@ -778,15 +778,14 @@ active keymap.
 @end group
 @group
 (keymap-local-set "C-p" ctl-x-map)
-    @result{} nil
+    @result{} (keymap #^[nil nil keymap @dots{}
 @end group
 @group
-(keymap-binding "C-p C-f")
+(keymap-lookup nil "C-p C-f")
     @result{} find-file
 @end group
-
 @group
-(keymap-binding "C-p 6")
+(keymap-lookup nil "C-p 9")
     @result{} nil
 @end group
 @end example
@@ -883,7 +882,7 @@ Normally it ignores @code{overriding-local-map} and
 then it pays attention to them.  @var{position} can optionally be either
 an event position as returned by @code{event-start} or a buffer
 position, and may change the keymaps as described for
-@code{keymap-binding}.
+@code{keymap-lookup} (@pxref{Functions for Key Lookup, keymap-lookup}).
 @end defun
 
 @node Searching Keymaps
@@ -1308,7 +1307,11 @@ the second example.
 @end group
 @end example
 
-The @var{keymap} argument can also be a list of keymaps.
+The @var{keymap} argument can be @code{nil}, meaning to look up
+@var{key} in the current keymaps (as returned by
+@code{current-active-maps}, @pxref{Active Keymaps}); or it can be a
+keymap or a list of keymaps, meaning to look up @var{key} only in the
+specified keymaps.
 
 Unlike @code{read-key-sequence}, this function does not modify the
 specified events in ways that discard information (@pxref{Key Sequence
diff --git a/etc/NEWS.29 b/etc/NEWS.29
index d3f057308dc..dc4eb64a63a 100644
--- a/etc/NEWS.29
+++ b/etc/NEWS.29
@@ -1021,6 +1021,11 @@ works for non-Emoji characters.)
 These are bound to 'C-x 8 e +' and 'C-x 8 e -', respectively.  They
 can be used on any character, but are mainly useful for Emoji.
 
+---
+*** New command 'emoji-zoom-reset'.
+This is bound to 'C-x 8 e 0', and undoes any size changes performed by
+'emoji-zoom-increase' and 'emoji-zoom-decrease'.
+
 ---
 *** New input method 'emoji'.
 This allows you to enter Emoji using short strings, eg ':face_palm:'
@@ -4323,9 +4328,11 @@ that binding is ignored by 'where-is-internal'.
 
 +++
 *** New functions for defining and manipulating keystrokes.
-These all take the syntax defined by 'key-valid-p'.  None of the older
-functions have been deprecated or altered, but they are now
-de-emphasized in the documentation.
+These all take the syntax defined by 'key-valid-p', which is basically
+the same syntax as the one accepted by the 'kbd' macro.  None of the
+older functions have been deprecated or altered, but they are now
+de-emphasized in the documentation, and we encourage Lisp programs to
+switch to these new functions.
 
 +++
 *** Use 'keymap-set' instead of 'define-key'.
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex
index 0ef05353341..f8894d9dc1c 100644
--- a/etc/refcards/orgcard.tex
+++ b/etc/refcards/orgcard.tex
@@ -1,5 +1,5 @@
 % Reference Card for Org Mode
-\def\orgversionnumber{9.6.2}
+\def\orgversionnumber{9.6.3}
 \def\versionyear{2023}          % latest update
 \input emacsver.tex
 
diff --git a/lisp/image.el b/lisp/image.el
index 2372fd1ce09..838cc0f8942 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -595,8 +595,8 @@ If nil, use the `image-scaling-factor' variable."
 IMAGE must be an image created with `create-image' or `defimage'.
 IMAGE is displayed by putting an overlay into the current buffer with a
 `before-string' STRING that has a `display' property whose value is the
-image.  STRING is defaulted if you omit it.
-The overlay created will have the `put-image' property set to t.
+image.  STRING defaults to \"x\" if it's nil or omitted.
+The overlay created by this function has the `put-image' property set to t.
 POS may be an integer or marker.
 AREA is where to display the image.  AREA nil or omitted means
 display it in the text area, a value of `left-margin' means
@@ -1158,9 +1158,11 @@ has no effect."
   "r" #'image-rotate)
 
 (defun image-increase-size (&optional n position)
-  "Increase the image size by a factor of N.
-If N is 3, then the image size will be increased by 30%.  The
-default is 20%."
+  "Increase the image size at POSITION by a factor specified by N.
+If N is 3, then the image size will be increased by 30%.  More
+generally, the image size is multiplied by 1 plus N divided by 10.
+N defaults to 2, which increases the image size by 20%.
+POSITION can be a buffer position or a marker, and defaults to point."
   (interactive "P")
   (image--delayed-change-size (if n
                                   (1+ (/ (prefix-numeric-value n) 10.0))
@@ -1179,9 +1181,11 @@ default is 20%."
   (run-with-idle-timer 0.3 nil #'image--change-size size position))
 
 (defun image-decrease-size (&optional n position)
-  "Decrease the image size by a factor of N.
-If N is 3, then the image size will be decreased by 30%.  The
-default is 20%."
+  "Decrease the image size at POSITION by a factor specified by N.
+If N is 3, then the image size will be decreased by 30%.  More
+generally, the image size is multiplied by 1 minus N divided by 10.
+N defaults to 2, which decreases the image size by 20%.
+POSITION can be a buffer position or a marker, and defaults to point."
   (interactive "P")
   (image--delayed-change-size (if n
                                   (- 1 (/ (prefix-numeric-value n) 10.0))
@@ -1191,7 +1195,9 @@ default is 20%."
                      "Use %k for further adjustments"))
 
 (defun image-mouse-increase-size (&optional event)
-  "Increase the image size using the mouse."
+  "Increase the image size using the mouse-gesture EVENT.
+This increases the size of the image at the position specified by
+EVENT, if any, by the default factor used by `image-increase-size'."
   (interactive "e")
   (when (listp event)
     (save-window-excursion
@@ -1199,7 +1205,9 @@ default is 20%."
       (image-increase-size nil (point-marker)))))
 
 (defun image-mouse-decrease-size (&optional event)
-  "Decrease the image size using the mouse."
+  "Decrease the image size using the mouse-gesture EVENT.
+This decreases the size of the image at the position specified by
+EVENT, if any, by the default factor used by `image-decrease-size'."
   (interactive "e")
   (when (listp event)
     (save-window-excursion
@@ -1207,12 +1215,24 @@ default is 20%."
       (image-decrease-size nil (point-marker)))))
 
 (defun image--get-image (&optional position)
-  "Return the image at point."
-  (let ((image (get-char-property (or position (point)) 'display
-                                  (when (markerp position)
-                                    (marker-buffer position)))))
+  "Return the image at POSITION.
+POSITION can be a buffer position or a marker, and defaults to point."
+  (let* ((image (get-char-property (or position (point)) 'display
+                                   (when (markerp position)
+                                     (marker-buffer position))))
+         (image-car (car-safe image))
+         (image
+          (cond ((eq image-car 'image)
+                 image)
+                ;; The value of the display property could be a sliced
+                ;; image of the form ((slice ...) (image ...)).
+                ;; FIXME: can we have more than 2 members in the list,
+                ;; so that the (image ...) part is NOT the cadr?
+                ((and (listp image) (consp image-car))
+                 (cadr image))
+                (t nil))))
     (unless (eq (car-safe image) 'image)
-      (error "No image under point"))
+      (error "No recognizable image under point"))
     image))
 
 ;;;###autoload
diff --git a/lisp/international/emoji.el b/lisp/international/emoji.el
index fec3e637f0c..856c405b545 100644
--- a/lisp/international/emoji.el
+++ b/lisp/international/emoji.el
@@ -684,30 +684,41 @@ We prefer the earliest unique letter."
 
 (defvar-keymap emoji-zoom-map
   "+" #'emoji-zoom-increase
-  "-" #'emoji-zoom-decrease)
+  "-" #'emoji-zoom-decrease
+  "0" #'emoji-zoom-reset)
 
 ;;;###autoload
 (defun emoji-zoom-increase (&optional factor)
   "Increase the size of the character under point.
 FACTOR is the multiplication factor for the size."
   (interactive)
-  (set-transient-map emoji-zoom-map t nil "Zoom with %k")
-  (let* ((factor (or factor 1.1))
-         (old (get-text-property (point) 'face))
-         (height (or (and (consp old)
-                          (plist-get old :height))
-                     1.0))
-         (inhibit-read-only t))
-    (with-silent-modifications
-      (if (consp old)
-          (add-text-properties
-           (point) (1+ (point))
-           (list 'face (plist-put (copy-sequence old) :height (* height 
factor))
-                 'rear-nonsticky t))
-        (add-face-text-property (point) (1+ (point))
-                                (list :height (* height factor)))
-        (put-text-property (point) (1+ (point))
-                           'rear-nonsticky t)))))
+  (set-transient-map emoji-zoom-map t #'redisplay "Zoom with %k")
+  (unless (eobp)
+    (let* ((factor (or factor 1.1))
+           (old (get-text-property (point) 'face))
+           ;; The text property is either a named face, or a plist
+           ;; with :height, or a list starting with such a plist,
+           ;; followed by one or more faces.
+           (newheight (* (or (and (consp old)
+                                  (or (plist-get (car old) :height)
+                                      (plist-get old :height)))
+                             1.0)
+                         factor))
+           (inhibit-read-only t))
+      (with-silent-modifications
+        (if (consp old)
+            (add-text-properties
+             (point) (1+ (point))
+             (list 'face
+                   (if (eq (car old) :height)
+                       (plist-put (copy-sequence old) :height newheight)
+                     (cons (plist-put (car old) :height newheight)
+                           (cdr old)))
+                   'rear-nonsticky t))
+          (add-face-text-property (point) (1+ (point))
+                                  (list :height newheight))
+          (put-text-property (point) (1+ (point))
+                             'rear-nonsticky t))))))
 
 ;;;###autoload
 (defun emoji-zoom-decrease ()
@@ -715,6 +726,19 @@ FACTOR is the multiplication factor for the size."
   (interactive)
   (emoji-zoom-increase 0.9))
 
+;;;###autoload
+(defun emoji-zoom-reset ()
+  "Reset the size of the character under point."
+  (interactive)
+  (with-silent-modifications
+    (let ((old (get-text-property (point) 'face)))
+      (when (and (consp old)
+                 (remove-text-properties (point) (1+ (point)) '(rear-nonsticky 
nil)))
+        (if (eq (car old) :height)
+            (remove-text-properties (point) (1+ (point)) '(face nil))
+          (add-text-properties (point) (1+ (point)) (list 'face
+                                                      (cdr old))))))))
+
 (provide 'emoji)
 
 ;;; emoji.el ends here
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 4e38b13b1a5..3d6d66970d3 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -3269,7 +3269,8 @@ single characters to be treated as standing for 
themselves."
               "r" #'emoji-recent
               "l" #'emoji-list
               "+" #'emoji-zoom-increase
-              "-" #'emoji-zoom-decrease))
+              "-" #'emoji-zoom-decrease
+              "0" #'emoji-zoom-reset))
 
 (defface confusingly-reordered
   '((((supports :underline (:style wave)))
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 808f2295e52..11be20b68db 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -1015,7 +1015,7 @@ the like."
                       (list 'base (list (cons 'href base))
                             (eww-highest-readability dom))
                      nil (current-buffer))
-    (dolist (elem '(:source :url :title :next :previous :up))
+    (dolist (elem '(:source :url :title :next :previous :up :peer))
       (plist-put eww-data elem (plist-get old-data elem)))
     (eww--after-page-change)))
 
diff --git a/lisp/org/ob-comint.el b/lisp/org/ob-comint.el
index 54bf5127e16..adfe31c4008 100644
--- a/lisp/org/ob-comint.el
+++ b/lisp/org/ob-comint.el
@@ -81,19 +81,7 @@ or user `keyboard-quit' during execution of body."
        (let* ((string-buffer "")
              (comint-output-filter-functions
               (cons (lambda (text)
-                       (setq string-buffer
-                             (concat
-                              string-buffer
-                              ;; Upon concatenation, the prompt may no
-                              ;; longer match `comint-prompt-regexp'.
-                              ;; In particular, when the regexp has ^
-                              ;; and the output does not contain
-                              ;; trailing newline.  Use more reliable
-                              ;; match to split the output later.
-                              (replace-regexp-in-string
-                               comint-prompt-regexp
-                               ,org-babel-comint-prompt-separator
-                               text))))
+                       (setq string-buffer (concat string-buffer text)))
                     comint-output-filter-functions))
              dangling-text)
         ;; got located, and save dangling text
@@ -108,21 +96,28 @@ or user `keyboard-quit' during execution of body."
         (while (progn
                  (goto-char comint-last-input-end)
                  (not (save-excursion
-                        (and (re-search-forward
-                              (regexp-quote ,eoe-indicator) nil t)
-                             (re-search-forward
-                              comint-prompt-regexp nil t)))))
+                      (and (re-search-forward
+                            (regexp-quote ,eoe-indicator) nil t)
+                           (re-search-forward
+                            comint-prompt-regexp nil t)))))
           (accept-process-output (get-buffer-process (current-buffer))))
         ;; replace cut dangling text
         (goto-char (process-mark (get-buffer-process (current-buffer))))
         (insert dangling-text)
 
-         ;; Replace partially supplied input lines.
-         ;; This is needed when output filter spits partial lines that
-         ;; do not include a full prompt at a time.
+         ;; Filter out prompts.
          (setq string-buffer
                (replace-regexp-in-string
-                comint-prompt-regexp
+                ;; Sometimes, we get multiple agglomerated
+                ;; prompts together in a single output:
+                ;; "prompt prompt prompt output"
+                ;; Remove them progressively, so that
+                ;; possible "^" in the prompt regexp gets to
+                ;; work as we remove the heading prompt
+                ;; instance.
+                (if (string-prefix-p "^" comint-prompt-regexp)
+                    (format "^\\(%s\\)+" (substring comint-prompt-regexp 1))
+                  comint-prompt-regexp)
                 ,org-babel-comint-prompt-separator
                 string-buffer))
         ;; remove echo'd FULL-BODY from input
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index fd75f4785d6..43fdcb82832 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -5,13 +5,13 @@
 (defun org-release ()
   "The release version of Org.
 Inserted by installing Org mode or when a release is made."
-   (let ((org-release "9.6.2"))
+   (let ((org-release "9.6.3"))
      org-release))
 ;;;###autoload
 (defun org-git-version ()
   "The Git version of Org mode.
 Inserted by installing Org or when a release is made."
-   (let ((org-git-version "release_9.6.2"))
+   (let ((org-git-version "release_9.6.3-2-gf2949d"))
      org-git-version))
 
 (provide 'org-version)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 1649722ab0c..be9d0e32dd0 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -9,7 +9,7 @@
 ;; URL: https://orgmode.org
 ;; Package-Requires: ((emacs "26.1"))
 
-;; Version: 9.6.2
+;; Version: 9.6.3
 
 ;; This file is part of GNU Emacs.
 ;;
@@ -3600,13 +3600,13 @@ following symbols:
               (const :tag "Entities" entities))))
 
 (defcustom org-hide-emphasis-markers nil
-  "Non-nil mean font-lock should hide the emphasis marker characters."
+  "Non-nil means font-lock should hide the emphasis marker characters."
   :group 'org-appearance
   :type 'boolean
   :safe #'booleanp)
 
 (defcustom org-hide-macro-markers nil
-  "Non-nil mean font-lock should hide the brackets marking macro calls."
+  "Non-nil means font-lock should hide the brackets marking macro calls."
   :group 'org-appearance
   :type 'boolean)
 
@@ -3618,7 +3618,7 @@ When nil, the \\name form remains in the buffer."
   :type 'boolean)
 
 (defcustom org-pretty-entities-include-sub-superscripts t
-  "Non-nil means, pretty entity display includes formatting sub/superscripts."
+  "Non-nil means pretty entity display includes formatting sub/superscripts."
   :group 'org-appearance
   :version "24.1"
   :type 'boolean)
@@ -10215,7 +10215,7 @@ nil."
        (replace-match "")
         (if (and (string-match "\\S-" (buffer-substring 
(line-beginning-position) (point)))
                 (equal (char-before) ?\ ))
-           (backward-delete-char 1)
+           (delete-char -1)
          (when (string-match "^[ \t]*$" (buffer-substring
                                           (line-beginning-position) 
(line-end-position)))
             (delete-region (line-beginning-position)
@@ -12006,18 +12006,17 @@ Returns the new tags string, or nil to not change the 
current settings."
                    (setq current nil)
                    (when exit-after-next (setq exit-after-next 'now)))
                   ((= c ?\t)
-                    (condition-case nil
-                        (unless tab-tags
-                          (setq tab-tags
-                                (delq nil
-                                      (mapcar (lambda (x)
-                                                (let ((item (car-safe x)))
-                                                  (and (stringp item)
-                                                       (list item))))
-                                              (org--tag-add-to-alist
-                                               (with-current-buffer buf
-                                                 (org-get-buffer-tags))
-                                               table))))))
+                    (unless tab-tags
+                      (setq tab-tags
+                            (delq nil
+                                  (mapcar (lambda (x)
+                                            (let ((item (car-safe x)))
+                                              (and (stringp item)
+                                                   (list item))))
+                                          (org--tag-add-to-alist
+                                           (with-current-buffer buf
+                                             (org-get-buffer-tags))
+                                           table)))))
                     (setq tg (completing-read "Tag: " tab-tags))
                    (when (string-match "\\S-" tg)
                      (cl-pushnew (list tg) tab-tags :test #'equal)
@@ -16532,7 +16531,7 @@ because, in this case the deletion might narrow the 
column."
             (looking-at-p ".*?|")
             (org-at-table-p))
        (progn (forward-char -1) (org-delete-char 1))
-      (backward-delete-char N)
+      (funcall-interactively #'backward-delete-char N)
       (org-fix-tags-on-the-fly))))
 
 (defun org-delete-char (N)
diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index d773b4a41f4..385e3918842 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -1027,7 +1027,11 @@ To use tree-sitter C/C++ modes by default, evaluate
     (add-to-list \\='major-mode-remap-alist
                  \\='(c-or-c++-mode . c-or-c++-ts-mode))
 
-in your configuration."
+in your configuration.
+
+Since this mode uses a parser, unbalanced brackets might cause
+some breakage in indentation/fontification.  Therefore, it's
+recommended to enable `electric-pair-mode' with this mode."
   :group 'c++
   :after-hook (c-ts-mode-set-modeline)
 
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 10b6c0cc2ca..f3b806e5613 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -1626,6 +1626,7 @@ If optional MARKER, return a marker instead"
                (directory-file-name (file-local-name truepath))
                eglot--uri-path-allowed-chars)))))
 
+(declare-function w32-long-file-name "w32proc.c" (fn))
 (defun eglot--uri-to-path (uri)
   "Convert URI to file path, helped by `eglot--current-server'."
   (when (keywordp uri) (setq uri (substring (symbol-name uri) 1)))
@@ -3488,8 +3489,9 @@ at point.  With prefix argument, prompt for ACTION-KIND."
       (unwind-protect
           (progn
             (dolist (dir dirs-to-watch)
-              (push (file-notify-add-watch dir '(change) #'handle-event)
-                    (gethash id (eglot--file-watches server))))
+              (when (file-readable-p dir)
+                (push (file-notify-add-watch dir '(change) #'handle-event)
+                      (gethash id (eglot--file-watches server)))))
             (setq
              success
              `(:message ,(format "OK, watching %s directories in %s watchers"
diff --git a/lisp/progmodes/typescript-ts-mode.el 
b/lisp/progmodes/typescript-ts-mode.el
index ef87bb29d52..3f198e9f180 100644
--- a/lisp/progmodes/typescript-ts-mode.el
+++ b/lisp/progmodes/typescript-ts-mode.el
@@ -453,7 +453,10 @@ See `treesit-sexp-type-regexp' for more information.")
 This major mode defines two additional JSX-specific faces:
 `typescript-ts-jsx-attribute-face' and
 `typescript-ts-jsx-attribute-face' that are used for HTML tags
-and attributes, respectively."
+and attributes, respectively.
+
+The JSX-specific faces are used when `treesit-font-lock-level' is
+at least 3 (which is the default value)."
   :group 'typescript
   :syntax-table typescript-ts-mode--syntax-table
 
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index b0699d8308b..45fd17f65c4 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -286,7 +286,7 @@ Overrides local variable `indent-tabs-mode'."
     ;;    counter_rtl.vhd(29):Conditional signal assignment line__29
     ("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1"
      nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim"
-     ("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( 
*\[[0-9]+\]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil)
+     ("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( 
*\\[[0-9]+]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil)
      ("" 0)
      ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
       "\\1/_primary.dat" "\\1/body.dat" downcase))
diff --git a/lisp/subr.el b/lisp/subr.el
index 123275b5971..cbddfa620a8 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -45,7 +45,8 @@ declaration.  A FILE with an \"ext:\" prefix is an external 
file.
 `check-declare' will check such files if they are found, and skip
 them without error if they are not.
 
-Optional ARGLIST specifies FN's arguments, or is t to not specify
+Optional ARGLIST specifies FN's arguments, in the same form as
+in `defun' (including the parentheses); or it is t to not specify
 FN's arguments.  An omitted ARGLIST defaults to t, not nil: a nil
 ARGLIST specifies an empty argument list, and an explicit t
 ARGLIST is a placeholder that allows supplying a later arg.
@@ -3575,9 +3576,9 @@ confusing to some users.")
 (defvar from--tty-menu-p nil
   "Non-nil means the current command was invoked from a TTY menu.")
 (defun use-dialog-box-p ()
-  "Say whether the current command should prompt the user via a dialog box."
+  "Return non-nil if the current command should prompt the user via a dialog 
box."
   (and last-input-event                 ; not during startup
-       (or (listp last-nonmenu-event)   ; invoked by a mouse event
+       (or (consp last-nonmenu-event)   ; invoked by a mouse event
            from--tty-menu-p)            ; invoked via TTY menu
        use-dialog-box))
 
diff --git a/test/infra/Dockerfile.emba b/test/infra/Dockerfile.emba
index 0c4a2e414bf..722a449b636 100644
--- a/test/infra/Dockerfile.emba
+++ b/test/infra/Dockerfile.emba
@@ -87,14 +87,14 @@ FROM emacs-base as emacs-gnustep
 
 RUN apt-get update && \
     apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
-      gnustep-devel \
+      gnustep-devel zlib1g-dev \
     && rm -rf /var/lib/apt/lists/*
 
 COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure --with-ns
-RUN make V=1 bootstrap
+RUN make bootstrap
 
 FROM emacs-base as emacs-native-comp
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]