1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-11 00:30:17 -08:00
Commit graph

4520 commits

Author SHA1 Message Date
Stefan Kangas
b331819302 Merge from origin/emacs-28
5708da48d1 Revert "Make `M-x run-python' select the window again"
aa2872a127 Make `M-x run-python' select the window again
c8e19b3a84 Don't bug out on certain empty elements with ids
2021-12-11 06:56:31 +01:00
Lars Ingebrigtsen
c8e19b3a84 Don't bug out on certain empty elements with ids
* lisp/net/shr.el (shr-descend): Fix empty-element #id targetting
(bug#52391).
2021-12-10 12:47:10 +01:00
Stefan Kangas
d601fd4692 Merge from origin/emacs-28
7a25ba0fde ; * lisp/image-dired.el: Fix typo.
dda6337066 emacsclient takes more care about XDG_RUNTIME_DIR
26fb4168b8 ; Prefer HTTPS in more URLs
6b89578524 ; * lisp/progmodes/flymake.el: Update the minimum Emacs ve...
2021-12-10 06:30:33 +01:00
Michael Albinus
bbfb373783 Improve lock-pid handling in Tramp
* lisp/net/tramp-cache.el: Remove comment.

* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
Do not set "lock-pid" connection-property.
(tramp-sudoedit-handle-delete-file): Use "rm -f".

* lisp/net/tramp.el (tramp-test-message): Extend for buffers w/o
remote default-directory.
(tramp-lock-pid): New defvar.
(tramp-get-lock-pid): Reimplement.
2021-12-09 20:03:16 +01:00
Stefan Kangas
26fb4168b8 ; Prefer HTTPS in more URLs 2021-12-09 16:26:04 +01:00
Stefan Kangas
05af96456c Merge from origin/emacs-28
ce5bca4913 Document native-comp-async-report-warning-errors more
1933cd5307 Doc fix; Epiphany has been renamed to GNOME Web
b80d7568e4 * lisp/dired-aux.el (dired-check-process): Doc fix.  (Bug#...
0f30227f97 ; * lisp/net/browse-url.el (browse-url-epiphany): Fix typo.
d34009db66 Remove dead link from newsticker

# Conflicts:
#	lisp/net/browse-url.el
2021-12-08 13:04:14 +01:00
Michael Albinus
0a2507ff90 Backport: Make a more robust check in Tramp using scripts
* lisp/net/tramp-sh.el (tramp-find-inline-encoding):
Check, whether scripts in `tramp-remote-coding-commands' are
expandable.

(cherry picked from commit 1d0a60113f)
2021-12-08 09:30:36 +01:00
Stefan Kangas
beed398eb5 browse-url: Refactor code to find executable
* lisp/net/browse-url.el (browse-url--find-executable): Extract from...
(browse-url-firefox-program, browse-url-chrome-program)
(browse-url-chromium-program): ...here.
2021-12-07 19:52:56 +01:00
Stefan Kangas
9013e4ea19 browse-url: Remove support for Galeon
* lisp/net/browse-url.el (browse-url-galeon-program)
(browse-url-galeon-arguments)
(browse-url-galeon-startup-arguments)
(browse-url-galeon-new-window-is-tab, browse-url-galeon)
(browse-url-galeon-sentinel): Delete, thus removing support for the long
defunct Galeon web browser.
* etc/NEWS: Announce its removal.
2021-12-07 19:36:23 +01:00
Stefan Kangas
1933cd5307 Doc fix; Epiphany has been renamed to GNOME Web
* lisp/net/browse-url.el: Doc fix; Epiphany is called GNOME Web
since GNOME 3.4, released in 2012.
Ref: https://help.gnome.org/misc/release-notes/3.4/
2021-12-07 18:59:53 +01:00
Stefan Kangas
0f30227f97 ; * lisp/net/browse-url.el (browse-url-epiphany): Fix typo. 2021-12-07 18:38:29 +01:00
Stefan Kangas
d34009db66 Remove dead link from newsticker
* lisp/net/newst-backend.el (newsticker--parse-rss-0.91):
* lisp/net/newsticker.el: Remove dead link.
2021-12-07 18:37:18 +01:00
Stefan Kangas
77a30e1e88 browse-url: Remove support for Netscape
* lisp/net/browse-url.el (browse-url-netscape-program)
(browse-url-netscape-arguments)
(browse-url-netscape-startup-arguments)
(browse-url-netscape-new-window-is-tab)
(browse-url-netscape-version, browse-url-netscape)
(browse-url-netscape-sentinel, browse-url-netscape-reload)
(browse-url-netscape-send): Delete, thus removing support for the long
defunct Netscape web browser.
* etc/NEWS: Announce its removal.
2021-12-07 18:32:57 +01:00
Michael Albinus
1d0a60113f Make a more robust check in Tramp using scripts
* lisp/net/tramp-sh.el (tramp-find-inline-encoding):
Check, whether scripts in `tramp-remote-coding-commands' are
expandable.
2021-12-07 16:20:13 +01:00
Lars Ingebrigtsen
5a9965f0c7 Fix previous shr-parse-style change
* lisp/net/shr.el (shr-parse-style): Fix previous clean-up here
(which wasn't well thought through).
2021-12-06 21:43:43 +01:00
Michael Albinus
e135f15aac Tramp code cleanup
* lisp/net/tramp.el (tramp-get-default-directory)
(tramp-get-buffer-string): New defsubsts.
(tramp-message, tramp-error-with-buffer)
(tramp-file-name-for-operation, tramp-command-completion-p)
(tramp-action-login, tramp-action-yesno, tramp-action-yn)
(tramp-action-terminal, tramp-action-confirm-message)
(tramp-wait-for-regexp, tramp-call-process)
(tramp-call-process-region, tramp-read-passwd):
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers)
(tramp-reporter-dump-variable):
* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
(tramp-sh-handle-process-file, tramp-sh-handle-write-region)
(tramp-sh-gio-monitor-process-filter):
* lisp/net/tramp-smb.el (tramp-smb-action-set-acl):
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions):
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case)
(tramp-test32-shell-command): Use them.
2021-12-06 19:36:15 +01:00
Paul Eggert
a21b8c5d7d Fix minor clock skew issues
* lisp/midnight.el (clean-buffer-list):
* lisp/progmodes/vhdl-mode.el (vhdl-template-replace-header-keywords):
* lisp/net/rcirc.el (rcirc-connect):
Don’t assume that getting the current time twice in rapid
succession will yield the same date and time.
2021-12-05 23:24:10 -08:00
Paul Eggert
dbef2145c7 Simplify by using format-time-string
* lisp/mail/sendmail.el (mail-do-fcc):
* lisp/net/tramp.el (tramp-debug-message):
Prefer format-time-string to doing time formatting by hand.
2021-12-05 23:24:09 -08:00
Paul Eggert
f4d7ca73e3 Simplify message-unique-id etc.
* lisp/gnus/message.el (message-unique-id):
* lisp/net/sasl.el (sasl-unique-id-function):
Avoid unnecessary consing and reliance on internal timestamp
format by using (time-convert nil 'integer) which typically does
no consing, instead of using (current-time) and then ignoring
the subsecond parts of the generated list.
2021-12-05 23:24:09 -08:00
Paul Eggert
524c42fa0e Prefer nil to (current-time) when either will do
* lisp/emacs-lisp/timer.el (timer-event-handler, run-at-time):
* lisp/gnus/gnus-score.el (gnus-score-date):
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
(gnus-search-imap-handle-date):
* lisp/gnus/gnus-sum.el (gnus-user-date)
(gnus-summary-create-article):
* lisp/image-dired.el (image-dired-create-thumb-1):
* lisp/image/gravatar.el (gravatar-retrieve)
(gravatar--prune-cache):
* lisp/net/dbus.el (dbus-monitor-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
(auto-revert-tests--write-file, auto-revert-test--wait-for):
* test/lisp/net/tramp-tests.el (tramp--test-print-duration):
Prefer nil to (current-time) when either will do, as this avoids
some consing.  Similarly, prefer omitting (current-time) arg
when this is equivalent.
2021-12-05 23:24:08 -08:00
Lars Ingebrigtsen
77de40aed3 Audit `string-match' usage in shr.el
* lisp/net/shr.el (shr-descend):
(shr-insert):
(shr-expand-url):
(shr-image-from-data):
(shr-dom-print):
(shr-parse-style):
(shr-tag-object):
(shr-tag-img):
(shr-render-td-1): Prefer string-match-p and string-search over
string-match where possible.
2021-12-06 01:16:23 +01:00
Michael Albinus
7c5e699b81 Add ".crate" to Tramp archive file suffixes.
* doc/misc/tramp.texi (Archive file names):
* lisp/net/tramp-archive.el (tramp-archive-suffixes): Add ".crate".
2021-12-04 20:02:07 +01:00
Michael Albinus
7384a329d2 Further changes on directory summary line in Tramp
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
Do not assume 0 in case of missing information.

* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Revert previous change, it doesn't fly.
2021-12-04 18:43:45 +01:00
Stefan Kangas
6d6d2b73d0 ; Fix removal of obsolete newsticker function
* lisp/net/newst-plainview.el (newsticker-close-buffer)
(newsticker-mark-all-items-of-feed-as-read)
(newsticker-mark-all-items-as-read): Use 'newsticker--cache-save'
instead of removed obsolete function 'newsticker--cache-update'.
* etc/NEWS: Don't mention obsolete internal variables.
2021-12-04 12:26:09 +01:00
Stefan Kangas
d82cfbc0e9 Merge from origin/emacs-28
745a732ae4 ; Further author fixes in authors.el
bef17bca21 * src/dosfns.c (Fint86): Doc fix; don't use obsolete names.
bc55dc04af * doc/misc/erc.texi (Keystroke Summary): Fix doc for TAB.
ef4d216eb3 Remove reference to variable obsolete since 24.1
7282e492d5 * doc/misc/efaq.texi (New in Emacs 28): New node.
eafcccd38f ; FAQ: Normalize references to the NEWS.NN file
c006c490eb ; * doc/misc/efaq.texi (Latest version of Emacs): Update v...
9fbc4fa0e7 Add Tramp version integrated in Emacs 28.1
2021-12-04 06:30:32 +01:00
Stefan Kangas
c082dbbc21 Remove some more items obsolete since Emacs 23
* lisp/emacs-lisp/shadow.el (find-emacs-lisp-shadows):
* lisp/net/newst-backend.el (newsticker-cache-filename)
(newsticker--cache-save-version1, newsticker--cache-update)
(newsticker--cache-read-version1):
* lisp/obsolete/vc-arch.el (vc-arch-command): Remove items
obsolete since Emacs 23.
2021-12-03 19:53:46 +01:00
Michael Albinus
7609924011 Adapt directory summary line handling in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Do not add or modify summary line when `dired-free-space' is bound.
2021-12-03 14:24:43 +01:00
Michael Albinus
9fbc4fa0e7 Add Tramp version integrated in Emacs 28.1
* lisp/net/trampver.el (customize-package-emacs-version-alist):
Add Tramp version integrated in Emacs 28.1.
2021-12-03 13:51:19 +01:00
Michael Albinus
1dfcac6e10 Update Tramp version (don't merge with master)
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.5.2.28.1".
2021-12-03 13:43:46 +01:00
Daniel Fleischer
d353c08d2b browse-url-button-regexp: Recognize gemini: links
Gemini is a relatively new text-based web protocol, similar to
gopher. There's the "elpher" package to browse gopher and gemini
pages. Adding it to the regexp will make Emacs be aware of gemini links,
e.g. in ERC.

* lisp/net/browse-url.el (browse-url-button-regexp): Add support
for the gemini: URL type.
2021-12-02 09:11:21 +01:00
Lars Ingebrigtsen
93824a760e Add new face `variable-pitch-text'
* doc/emacs/display.texi (Standard Faces): Mention in.

* lisp/faces.el (variable-pitch-text): New face.

* lisp/gnus/gnus-art.el (gnus-header): Use it.

* lisp/net/shr.el (shr-text): Use it.
2021-12-01 17:20:16 +01:00
Lars Ingebrigtsen
a2d98c54f7 Use pixel-fill-width in shr.el
* lisp/net/shr.el (shr--window-width): Factor out into own function.
(shr-insert-document): Use it.
(shr-fill-text): Ditto.
2021-11-30 16:54:34 +01:00
Lars Ingebrigtsen
72b7fccc15 Add new package pixel-fill.el
* lisp/net/shr.el (shr-char-breakable-p, shr-char-nospace-p)
(shr-char-kinsoku-bol-p, shr-char-kinsoku-eol-p)
(shr-find-fill-point): Moved to pixel-fill.el and renamed.
(shr-pixel-region): Made obsolete.
(shr-fill-line): Use pixel-fill-region.

* lisp/textmodes/pixel-fill.el: New package.
2021-11-30 02:07:22 +01:00
Lars Ingebrigtsen
7fea9c8415 Define a face for shr text
* lisp/net/shr.el (shr-text): New face.
(shr-insert): Use it instead of hard-coding `variable-pitch'.
2021-11-25 11:17:00 +01:00
Michael Albinus
764ffa76ed Backport Tramp fixes, don't merge
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
Use `tramp-handle-file-readable-p'.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test02-file-name-dissect): Use `make-tramp-file-name'.
2021-11-24 16:54:59 +01:00
Stefan Monnier
9ceb3070e3 * lisp/subr.el (event-start, event-end): Handle (menu-bar) events
* lisp/net/browse-url.el (browse-url-interactive-arg): Simplify accordingly
2021-11-22 14:23:42 -05:00
Omar Polo
74386abc0f ; Simplify rcirc authentication querying functions 2021-11-21 19:00:40 +01:00
Omar Polo
b79cb838a4 implement certfp authentication to rcirc
* lisp/net/rcirc.el (rcirc-connect): Use the provided client certs
* doc/misc/rcirc.texi (Configuration): Document the change
2021-11-21 19:00:40 +01:00
Robert Pluim
7c52c86a84 ; Fix a few haiku typos
* lisp/net/browse-url.el (browse-url-webpositive-program): Correct
:version tag.
* src/frame.c (Fframep): Fix quoting of "haiku".
2021-11-21 16:04:31 +01:00
Stefan Kangas
1de6a86553 Merge from origin/emacs-28
0dd3883def Update to Org 9.5-72-gc5d6656
e3d5337970 Fix mouse handling with several TTY frames on MS-Windows
7e437af413 Fix temacs invocation from outside of the 'src' directory
0fbfd4253e ; Avoid byte-compilation warnings in edmacro.el
c22c988b1f Fix mouse events on tab bar or tool bar when 'track-mouse'...
354c834fba Fix `browse-url-interactive-arg' for certain kinds of events

# Conflicts:
#	lisp/mouse.el
2021-11-21 11:18:23 +01:00
Po Lu
85a078e785 Add support for the Haiku operating system and its window system
* .gitignore: Add binaries specific to Haiku.

* Makefie.in (HAVE_BE_APP): New variable.
(install-arch-dep): Install Emacs and Emacs.pdmp when
using Haiku.

* configure.ac: Detect and configure for Haiku and
various related configurations.
(be-app, be-freetype, be-cairo): New options.
(HAVE_BE_APP, HAIKU_OBJ, HAIKU_CXX_OBJ)
(HAIKU_LIBS, HAIKU_CFLAGS): New variables.
(HAIKU, HAVE_TINY_SPEED_T): New define.
(emacs_config_features): Add BE_APP.

* doc/emacs/Makefile.in (EMACSSOURCES): Add Haiku
appendix.

* doc/emacs/emacs.texi: Add Haiku appendix to menus and
include it.

* doc/emacs/haiku.texi: New Haiku appendix.

* doc/lispref/display.texi (Defining Faces, Window Systems):
Explain meaning of `haiku' as a window system identifier.
(haiku-use-system-tooltips): Explain meaning of system
tooltips on
Haiku.

* doc/lispref/frames.texi (Multiple Terminals): Explain
meaning of haiku as a display type.
(Frame Layout): Clarify section for Haiku frames.
(Size Parameters): Explain limitations of fullwidth and
fullheight on Haiku.
(Management Parameters): Explain limitations of
inhibiting double buffering on builds with Cairo,
and the inability of frames with no-accept-focus to
receive keyboard input on Haiku.
(Font and Color Parameters): Explain the different font
backends available on Haiku.
(Raising and Lowering): Explain that lowering and
restacking frames doesn't work on Haiku.
(Child Frames): Explain oddities of child frame
visibility on Haiku.

* doc/lispref/os.texi (System Environment): Explain
meaning of haiku.
* etc/MACHINES: Add appropriate notices for Haiku.
* etc/NEWS: Document changes.
* etc/PROBLEMS: Document font spacing bug on Haiku.

* lib-src/Makefile.in: Build be-resources binary on
Haiku.
(CXX, CXXFLAGS, NON_CXX_FLAGS, ALL_CXXFLAGS)
(HAVE_BE_APP, HAIKU_LIBS, HAIKU_CFLAGS): New variables.
(DONT_INSTALL): Add be-resources binary if on Haiku.
(be-resources): New target.

* lib-src/be_resources: Add helper binary for setting
resources on the Emacs application.

* lib-src/emacsclient.c (decode_options): Set
alt_display to "be" on Haiku.

* lisp/cus-edit.el (custom-button, custom-button-mouse)
(custom-button-unraised, custom-button-pressed): Update
face definitions for Haiku.

* lisp/cus-start.el: Add haiku-debug-on-fatal-error and
haiku-use-system-tooltips.

* lisp/faces.el (face-valid-attribute-values): Clarify
attribute comment for Haiku.
(tool-bar): Add appropriate toolbar color for Haiku.

* lisp/frame.el (haiku-frame-geometry)
(haiku-mouse-absolute-pixel-position)
(haiku-set-mouse-absolute-pixel-position)
(haiku-frame-edges)
(haiku-frame-list-z-order): New function declarations.

(frame-geometry, frame-edges)
(mouse-absolute-pixel-position)
(set-mouse-absolute-pixel-position)
(frame-list-z-order): Call appropriate window system
functions on Haiku.

(display-mouse-p, display-graphic-p)
(display-images-p, display-pixel-height)
(display-pixel-width, display-mm-height)
(display-mm-width, display-backing-store)
(display-save-under, display-planes)
(display-color-cells, display-visual-class): Update type
tests for Haiku.

* lisp/international/mule-cmds.el
(set-coding-system-map): Also
prevent set-terminal-coding-system from appearing in the menu
bar on Haiku.

* lisp/loadup.el: Load Haiku-specific files when built
with Haiku, and don't rename newly built Emacs on Haiku as BFS
doesn't support hard links.

* lisp/menu-bar.el (menu-bar-open): Add for Haiku.

* lisp/mwheel.el (mouse-wheel-down-event): Expect
wheel-up on Haiku.
(mouse-wheel-up-event): Expect wheel-down on Haiku.
(mouse-wheel-left-event): Expect wheel-left on Haiku.
(mouse-wheel-right-event): Expect wheel-right on Haiku.

* lisp/net/browse-url.el
(browse-url--browser-defcustom-type):
Add option for WebPositive.
(browse-url-webpositive-program): New variable.
(browse-url-default-program): Search for WebPositive.
(browse-url-webpositive): New function.

* lisp/net/eww.el (eww-form-submit, eww-form-file)
(eww-form-checkbox, eww-form-select): Define faces
appropriately for Haiku.

* lisp/term/haiku-win.el: New file.

* lisp/tooltip.el (menu-or-popup-active-p): New function
declaration.
(tooltip-show-help): Don't use tooltips on Haiku when a
menu is active.

* lisp/version.el (haiku-get-version-string): New
function declaration.
(emacs-version): Add Haiku version string if
appropriate.

* src/Makefile.in: Also produce binary named "Emacs"
with Haiku resources set.

(CXX, HAIKU_OBJ, HAIKU_CXX_OBJ, HAIKU_LIBS)
(HAIKU_CFLAGS, HAVE_BE_APP, NON_CXX_FLAGS)
(ALL_CXX_FLAGS): New variables.

(.SUFFIXES): Add .cc.
(.cc.o): New target.
(base_obj): Add Haiku C objects.
(doc_obj, obj): Split objects that should scanned for
documentation into doc_obj.
(SOME_MACHINE_OBJECTS): Add appropriate Haiku C objects.
(all): Depend on Emacs and Emacs.pdmp on Haiku.
(LIBES): Add Haiku libraries.
(gl-stamp)
($(etc)/DOC): Scan doc_obj instead of obj
(temacs$(EXEEXT): Use C++ linker on Haiku.
(ctagsfiles3): New variable.
(TAGS): Scan C++ files.

* src/alloc.c (garbage_collect): Mark Haiku display.

* src/dispextern.h (HAVE_NATIVE_TRANSFORMS): Also enable
on Haiku.
(struct image): Add fields for Haiku transforms.
(RGB_PIXEL_COLOR): Define to unsigned long on Haiku as
well.
(sit_for): Also check USABLE_SIGPOLL.
(init_display_interactive): Set initial window system to
Haiku on Haiku builds.

* src/emacs.c (main): Define Haiku syms and init haiku
clipboard.
(shut_down_emacs): Quit BApplication on Haiku and
trigger debug
on aborts if haiku_debug_on_fatal_error.
(Vsystem_type): Update docstring.

* src/fileio.c (next-read-file-uses-dialog-p): Enable on
Haiku.

* src/filelock.c (WTMP_FILE): Only define if BOOT_TIME
is also defined.

* src/floatfns.c (double_integer_scale): Work around
Haiku libroot brain damage.

* src/font.c (syms_of_font): Define appropriate font
driver symbols for Haiku builds with various options.

* src/font.h: Also enable ftcrfont on Haiku builds with
Cairo.
(font_data_structures_may_be_ill_formed): Also enable on
Haiku builds that have Cairo.

* src/frame.c (Fframep): Update doc-string for Haiku
builds and return haiku if appropriate.
(syms_of_frame): New symbol `haiku'.

* src/frame.h (struct frame): Add output data for Haiku.
(FRAME_HAIKU_P): New macro.
(FRAME_WINDOW_P): Test for Haiku frames as well.

* src/ftcrfont.c (RED_FROM_ULONG, GREEN_FROM_ULONG)
(BLUE_FROM_ULONG): New macros.
(ftcrfont_draw): Add haiku specific code for Haiku
builds with Cairo.

* src/ftfont.c (ftfont_open): Set face.
(ftfont_has_char, ftfont_text_extents): Work around
crash.
(syms_of_ftfont): New symbol `mono'.

* src/ftfont.h (struct font_info): Enable Cairo-specific
fields for Cairo builds on Haiku.

* src/haiku_draw_support.cc:
* src/haiku_font_support.cc:
* src/haiku_io.c:
* src/haiku_select.cc:
* src/haiku_support.cc:
* src/haiku_support.h:
* src/haikufns.c:
* src/haikufont.c:
* src/haikugui.h:
* src/haikuimage.c:
* src/haikumenu.c:
* src/haikuselect.c:
* src/haikuselect.h:
* src/haikuterm.c:
* src/haikuterm.h: Add new files for Haiku windowing
support.

* src/haiku.c: Add new files for Haiku operating system
support.

* src/image.c: Implement image transforms and native XPM
support
on Haiku.

(GET_PIXEL, PUT_PIXEL, NO_PIXMAP)
(PIX_MASK_RETAIN, PIX_MASK_DRAW)
(RGB_TO_ULONG, RED_FROM_ULONG, GREEN_FROM_ULONG)
(BLUE_FROM_ULONG, RED16_FROM_ULONG, GREEN16_FROM_ULONG)
(BLUE16_FROM_ULONG): Define to appropriate values on
Haiku.

(image_create_bitmap_from_data): Add Haiku support.
(image_create_bitmap_from_file): Add TODO on Haiku.
(free_bitmap_record): Free bitmap on Haiku.
(image_size_in_bytes): Implement for Haiku bitmaps.
(image_set_transform): Implement on Haiku.
(image_create_x_image_and_pixmap_1): Implement on Haiku,
24-bit or 1-bit only.
(image_destroy_x_image, image_get_x_image): Use correct
img and pixmap values on Haiku.
(lookup_rgb_color): Use correct macro on Haiku.
(image_to_emacs_colors): Implement on Haiku.
(image_disable_image): Disable on Haiku.
(image_can_use_native_api): Test for translator presence
on Haiku.
(native_image_load): Use translator on Haiku.
(imagemagick_load_image): Add Haiku-specific quirks.
(Fimage_transforms_p): Allow rotate90 on Haiku.
(image_types): Enable native XPM support on Haiku.
(syms_of_image): Enable XPM images on Haiku.

* src/keyboard.c (kbd_buffer_get_event)
(handle_async_input, handle_input_available_signal)
(handle_user_signal, Fset_input_interrupt_mode)
(init_keyboard): Check for USABLE_SIGPOLL along with
USABLE_SIGIO.

* src/lisp.h (pD): Work around broken Haiku headers.
(HAVE_EXT_MENU_BAR): Define on Haiku.
(handle_input_available_signal): Enable if we just have
SIGPOLL as well.

* src/menu.c (have_boxes): Return true on Haiku.
(single_menu_item): Enable toolkit menus on Haiku.
(find_and_call_menu_selection): Also enable on Haiku.

* src/process.c (keyboard_bit_set): Enable with only
usable SIGPOLL.
(wait_reading_process_output): Test for SIGPOLL as well
as SIGIO availability.

* src/sound.c (sound_perror, vox_open)
(vox_configure, vox_close): Enable for usable SIGPOLL as
well.

* src/sysdep.c (sys_subshell): Enable for usable SIGPOLL.
(reset_sigio): Make conditional on F_SETOWN.
(request_sigio, unrequest_sigio)
(emacs_sigaction_init): Also handle SIGPOLLs.
(init_sys_modes): Disable TCXONC usage on Haiku, as it
doesn't have any ttys other than pseudo ttys, which don't
support C-s/C-q flow control, and causes compiler warnings.
(speeds): Disable high speeds if HAVE_TINY_SPEED_T.

* src/termhooks.h (enum output_method): Add output_haiku.
(struct terminal): Add Haiku display info.
(TERMINAL_FONT_CACHE): Enable for Haiku.

* src/terminal.c (Fterminal_live_p): Return `haiku' if
appropriate.
* src/verbose.mk.in (AM_V_CXX, AM_V_CXXLD): New logging
variables.

* src/xdisp.c (redisplay_internal)
(note_mouse_highlight): Return on Haiku if a popup is activated.
(display_menu_bar): Return on Haiku if frame is a Haiku
frame.

* src/xfaces.c (GCGraphicsExposures): Enable correctly on Haiku.
(x_create_gc): Enable dummy GC code on Haiku.

* src/xfns.c (x-server-version, x-file-dialog): Add
Haiku specifics to doc strings.

* src/xterm.c (syms_of_xterm): Add Haiku information to
doc string.
2021-11-20 21:46:07 +08:00
Lars Ingebrigtsen
4351722477 Make shr render text with superscripts prettier
* lisp/net/shr.el (shr-sup): New face.
(shr-tag-sup, shr-tag-sub): Use it to make the super/subscripts
slightly smaller so that we don't get uneven line heights with
text that uses these.
2021-11-20 11:42:44 +01:00
Po Lu
354c834fba Fix `browse-url-interactive-arg' for certain kinds of events
* lisp/net/browse-url.el (browse-url-interactive-arg): Don't
call `mouse-set-point' unless event is actually a mouse event.
2021-11-20 15:56:08 +08:00
Michael Albinus
9b08846faa Add upward compatibility entry in Tramp (don't merge)
* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `abbreviate-file-name'.
2021-11-19 18:57:47 +01:00
Lars Ingebrigtsen
023dc2ac8f Make puny-encode-string normalize first
* lisp/net/puny.el (puny-encode-string): Normalize before encoding
(bug#51954).
2021-11-19 07:46:06 +01:00
Stefan Monnier
d7a2af5939 * lisp/net/mailcap.el (mailcap-parse-mailcaps): Fix $MAILCAPS case 2021-11-18 22:02:43 -05:00
Mattias Engdegård
09a5dd8628 String backslash corrections
* lisp/net/shr.el (shr-tag-video): Remove ineffective backslash.
* test/lisp/emacs-lisp/package-tests.el
(package-test-macro-compilation-gz): Make dot literal as intended.
2021-11-18 20:54:32 +01:00
Michael Albinus
6c1190c749 Extend abbreviate-file-name for further Tramp methods.
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
Add 'abbreviate-file-name'.
(tramp-gvfs-handle-expand-file-name):
* lisp/net/tramp.el (tramp-handle-expand-file-name): Handle case
that tilde cannot be expanded.

* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Extend test.
2021-11-18 15:06:26 +01:00
Michael Albinus
6e93cb0954 Some minor Tramp updates
* lisp/net/tramp-crypt.el (tramp-crypt-add-directory): Add comment.

* lisp/net/tramp.el (tramp-debug-buffer-command-completion-p)
(tramp-setup-debug-buffer): New defuns.
(tramp-get-debug-buffer): Call `tramp-setup-debug-buffer.

* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Extend test.
2021-11-16 15:04:27 +01:00
Lars Ingebrigtsen
2daffe3550 Adjust defvar-keymap' and define-keymap' to the new syntax
* lisp/vc/smerge-mode.el (smerge-basic-map):
* lisp/vc/pcvs.el (cvs-mode-map):
(cvs-minor-mode-prefix):
* lisp/vc/log-view.el (log-view-mode-map):
* lisp/vc/log-edit.el (log-edit-mode-map):
* lisp/vc/diff-mode.el (diff-mode-shared-map):
(diff-minor-mode-prefix):
* lisp/vc/cvs-status.el (cvs-status-mode-map):
* lisp/simple.el (special-mode-map):
* lisp/outline.el (outline--insert-open-button):
(outline--insert-close-button):
* lisp/net/shr.el (shr-map):
* lisp/net/eww.el (eww-link-keymap):
(eww-mode-map):
(eww-submit-map):
(eww-bookmark-mode-map):
(eww-history-mode-map):
(eww-buffers-mode-map):
* lisp/mh-e/mh-speed.el (:keymap):
* lisp/mh-e/mh-show.el (:keymap):
* lisp/mh-e/mh-search.el (:keymap):
* lisp/mh-e/mh-letter.el (:keymap):
* lisp/mh-e/mh-folder.el (:keymap):
* lisp/international/emoji.el (emoji-list-mode-map):
* lisp/gnus/spam.el (:keymap):
* lisp/gnus/mml.el (mml-mode-map):
* lisp/gnus/message.el (message-mode-map):
* lisp/gnus/gnus-undo.el (gnus-undo-mode-map):
* lisp/gnus/gnus-topic.el (gnus-topic-mode-map):
* lisp/gnus/gnus-sum.el (:keymap):
* lisp/gnus/gnus-srvr.el (gnus-server-mode-map):
(gnus-browse-mode-map):
* lisp/gnus/gnus-salt.el (gnus-pick-mode-map):
(gnus-tree-mode-map):
* lisp/gnus/gnus-msg.el (:prefix):
* lisp/gnus/gnus-ml.el (gnus-mailing-list-mode-map):
* lisp/gnus/gnus-kill.el (gnus-kill-file-mode-map):
* lisp/gnus/gnus-html.el (gnus-html-displayed-image-map):
* lisp/gnus/gnus-group.el (:keymap):
* lisp/gnus/gnus-eform.el (gnus-edit-form-mode-map):
* lisp/gnus/gnus-draft.el (gnus-draft-mode-map):
* lisp/gnus/gnus-dired.el (gnus-dired-mode-map):
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map):
* lisp/gnus/gnus-art.el (:keymap):
(gnus-article-edit-mode-map):
* lisp/gnus/gnus-agent.el (gnus-agent-group-mode-map):
(gnus-agent-summary-mode-map):
(gnus-agent-server-mode-map):
(gnus-category-mode-map): Adjust `defvar-keymap' and
`define-keymap' to the new syntax.
2021-11-16 08:26:24 +01:00