Eli Zaretskii [Mon, 20 Jun 2022 16:04:06 +0000 (19:04 +0300)]
Support builds configured with a separate --bindir
* src/emacs.c (load_pdump): Don't overwrite the leading
directories of the Emacs executable just because the pdumper file
was not found in the expected directory relative to the binary.
This is needed to support builds with a separate --bindir
configure-time option and native-compilation. (Bug#55741)
Richard Hansen [Sat, 18 Jun 2022 12:11:01 +0000 (14:11 +0200)]
Fix invalid defcustom :group when :predicate is used
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Fix
invalid `:group' argument for the `-modes' defcustom that is created
when `:predicate' is used (bug#56049).
Arash Esbati [Wed, 15 Jun 2022 19:35:47 +0000 (21:35 +0200)]
Update MS Windows FAQ for MinGW64-w64/MSYS2
* doc/misc/efaq-w32.texi (Compiling, Debugging): Mention
MinGW64-w64/MSYS2 as the preferred way for building Emacs on
capable systems.
(Attachments with Gnus): Catch up with emacs-mime.texi in the
example given.
(Spell check): Add the availability of GNU Aspell and Hunspell
in MSYS2 distribution.
(Other useful ports): Add an entry for MinGW64-w64/MSYS2.
Fix link for MinGW homepage.
Remove entry for defunct UWIN project. (Bug#55930)
Ken Brown [Wed, 8 Jun 2022 17:09:21 +0000 (13:09 -0400)]
Fix error reporting in process-async-https-with-delay
* test/src/process-tests.el (process-async-https-with-delay): Use
'plist-get' instead of 'assq' in testing for a connection error.
The 'status' variable is a plist, not an alist. (Bug#55849)
Eli Zaretskii [Tue, 7 Jun 2022 13:01:04 +0000 (16:01 +0300)]
Fix debugging with GDB when a breakpoint has multiple locations
* lisp/progmodes/gdb-mi.el (gdb-breakpoints--add-breakpoint-row):
New function, extracted from 'gdb-breakpoints-list-handler-custom'.
Don't print "in <unknown>" for header-rows of breakpoints with
multiple locations that don't have a function name attached.
(gdb-breakpoints-list-handler-custom): Add to the breakpoint table
also any locations in multiple-location breakpoints, which are
supported since GDB 6.8.
Eli Zaretskii [Sun, 5 Jun 2022 08:28:10 +0000 (11:28 +0300)]
Update documentation of 'aset' and 'store-substring'
* doc/lispref/strings.texi (Modifying Strings): Adjust to
implementation changes: it is possible for the modified string to
have fewer or more bytes than the original. Add recommendations
regarding unibyte vs multibyte strings and characters. (Bug#55801)
Eli Zaretskii [Sat, 4 Jun 2022 07:06:43 +0000 (10:06 +0300)]
Clarify documentation of 'string-to-unibyte'
* doc/lispref/nonascii.texi (Converting Representations): Clarify
what 'string-to-unibyte' does. Reported by Richard Hansen
<rhansen@rhansen.org>. (Bug#55777)
Ikumi Keita [Thu, 2 Jun 2022 12:29:38 +0000 (14:29 +0200)]
Improve keystrokes in doc strings in some find-file functions
* lisp/files.el (find-file):
(find-file-other-window):
(find-file-other-frame): Include the correct keymap so that
keystrokes are displayed better (bug#55761).
Eli Zaretskii [Thu, 2 Jun 2022 10:41:59 +0000 (13:41 +0300)]
Fix segfaults when starting on 80x26 TTY frames
* src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Make
sure we have valid frame glyph matrices for the interactive
session. (Bug#55760)
(adjust_frame_glyphs): Add assertions for when we fail to allocate
valid frame glyph matrices for a TTY frame.
Alan Mackenzie [Sat, 28 May 2022 12:55:32 +0000 (12:55 +0000)]
do_switch_frame: before leaving mini-window, check other (mru) window is live
This fixes bug#55684. There, with a minibuffer-only frame at start up,
Emacs tried to switch to this frame, whose selected window was the
mini-window. There is no other active window in this frame, so the
attempt to swith to another window failed.
* src/frame.c (do_switch_frame): On switching to a frame whose selected
window is as above, before selecting the most recently used window, check
this ostensible window is an actual live window. Otherwise leave the
mini-window selected.
Eli Zaretskii [Sat, 28 May 2022 11:57:55 +0000 (14:57 +0300)]
Fix commands used to produce on-line HTML docs
* admin/admin.el (manual-meta-string): Only include the first
line, and move the rest...
(manual-links-string): ...to this new string.
(manual-html-fix-headers): Don't remove the '<meta name=' elements
produced by makeinfo, especially not the 'name="viewport"' one,
which is essential for viewing the docs on mobile devices.
Reported by "Facundo Lander via RT" <webmasters-comment@gnu.org>,
see gnu.org ticket #1840138.
Alan Mackenzie [Fri, 20 May 2022 20:18:38 +0000 (20:18 +0000)]
Restore the Fselect_window call in gui_consider_frame_title.
This fixes bug #55412. The call to Fselect_window was removed on 2021-03-21
in the commit "Prevent open minibuffers getting lost when their frame gets
deleted". This call is actually needed to determine current elements of the
pertinent window and frame when these are used in the frame title.
* src/frame.c (do_switch_frame): When the selected window in the target frame
is the mini-window, switch away from this window unless there is a valid
minibuffer there.
* src/frame.h (struct frame): Add an incidental comment about the element
selected_window.
* src/minibuf.c (move_minibuffers_onto_frame): No longer set the selected
window of the source frame. This action is now performed later, on returning
to that frame, in do_switch_frame when needed (see above).
* src/xdisp.c (gui_consider_frame_title): Replace the Fselect_window call and
associated ancillary settings.
Michael Albinus [Sun, 15 May 2022 13:09:26 +0000 (15:09 +0200)]
Hide temporary FUSE files in Tramp
* lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defsubst.
(tramp-fuse-handle-directory-files)
(tramp-fuse-handle-file-name-all-completions): Use it.
Eli Zaretskii [Fri, 13 May 2022 12:00:21 +0000 (15:00 +0300)]
Fix lexical-binding fallout in vhdl-mode.el
* lisp/progmodes/vhdl-mode.el (arch-alist, pack-alist)
(file-alist, unit-alist, rule-alist): Defvar them, since vhdl-aput
expects them to be dynamically bound. (Bug#55389)
(vhdl-speedbar-insert-hierarchy): Rename the PACK-ALIST argument
to PACKAGE-ALIST, to avoid shadowing the global variable.
Alan Mackenzie [Sun, 8 May 2022 11:39:45 +0000 (11:39 +0000)]
Linux console: don't translate ESC TAB to `backtab' in input-decode-map.
This translation happened after the terminfo entry for <shift>TAB in the linux
section was changed to kcbt=\E^I in ncurses version 6.3.
* lisp/term/linux.el (terminal-init-linux): Add a define-key form to remove
the entry for "\e\t" from input-decode-map.
* etc/PROBLEMS: Add a new section under "character terminals" about S-TAB
wrongly doing the same thing as M-TAB, giving tips about amending the Linux
keyboard layout.
Michael Albinus [Sun, 8 May 2022 09:43:19 +0000 (11:43 +0200)]
Handle changed scp protocol in Tramp, don't merge
* lisp/net/tramp-sh.el (tramp-scp-force-scp-protocol): New defvar.
(tramp-scp-force-scp-protocol): New defun.
(tramp-do-copy-or-rename-file-out-of-band): Use it.
(tramp-methods) <scp, scpx>: Use "%y".
Eli Zaretskii [Thu, 28 Apr 2022 14:53:36 +0000 (17:53 +0300)]
Improve documentation of font- and face-related attribute functions
* lisp/faces.el (face-attribute):
* src/xfaces.c (Fx_family_fonts):
* src/font.c (Ffont_get, Ffont_put): Improve and clarify the doc
strings.
* doc/lispref/display.texi (Low-Level Font): Document the :type
attribute of a font. Improve documentation of 'font-get' and
'font-put'.
(Attribute Functions): Add cross-reference to the description of
face attributes.
Eli Zaretskii [Sun, 24 Apr 2022 06:56:22 +0000 (09:56 +0300)]
Improve documentation of 'set-fontset-font'
* doc/lispref/display.texi (Fontsets):
* src/fontset.c (Fset_fontset_font): Improve and clarify the
documentation of 'set-fontset-font'. Rename the arguments to be
more self-explanatory. (Bug#55086)
Eli Zaretskii [Thu, 21 Apr 2022 20:18:42 +0000 (23:18 +0300)]
Avoid a redisplay loop when 'overlay-arrow-string' is non-ASCII
* src/xdisp.c (get_overlay_arrow_glyph_row): Don't assume every
character in 'overlay-arrow-string' is one byte long. Reported by
Yuri D'Elia <wavexx@thregr.org>.