From: Eli Zaretskii Date: Sat, 16 Apr 2022 17:58:31 +0000 (-0400) Subject: Merge from origin/emacs-28 X-Git-Tag: emacs-29.0.90~1931^2~492 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=44ba0270b7ea8d193ceb7d9ad10937b03f6b5244;p=emacs.git Merge from origin/emacs-28 d53c999b4a Further vcs-cvs/rcs-responsible-p updates from master dc3d1628ec ; * src/sysdep.c: Fix mistake in previous commit 855e15dbf1 Fix builds on older versions of macOS 9da744e450 Fix documentation of Outline minor mode options a8bb12ab05 Improve discoverability of 'insert-directory-program' 3f166bdf44 ; * etc/PROBLEMS: Describe MS-Windows issues with fonts. ... 803ac857ee Fix cursor motion under truncate-lines with Flymake fringe... # Conflicts: # etc/PROBLEMS # lisp/outline.el # src/sysdep.c --- 44ba0270b7ea8d193ceb7d9ad10937b03f6b5244 diff --cc etc/PROBLEMS index 394c6c223da,2a26dfaec4d..482c29f3301 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@@ -1049,6 -1049,6 +1049,15 @@@ index 5504171..431adf8 10064 If you can't modify that file directly, copy it to the directory ~/.m17n.d/ (create it if it doesn't exist), and apply the patch. ++** On Haiku, some proportionally-spaced fonts display with artifacting. ++ ++This is a Haiku bug: https://dev.haiku-os.org/ticket/17229, which can ++be remedied by using a different font that does not exhibit this ++problem, or by configuring Emacs '--with-be-cairo'. ++ ++So far, Bitstream Charter and Noto Sans have been known to exhibit ++this problem, while Noto Sans Display is known to not do so. ++ ** On MS-Windows, some characters display as boxes with hex code. Also, some characters could display with wrong fonts. diff --cc lisp/outline.el index 696d109f1ee,00a557ca4e8..9f73ca0d0c7 --- a/lisp/outline.el +++ b/lisp/outline.el @@@ -184,10 -191,9 +193,10 @@@ This option is only in effect when `out (const :tag "Not at line beginning" (lambda () (not (bolp)))) (const :tag "At line end" eolp) - (function :tag "Custom filter")) + (function :tag "Custom filter function")) :version "28.1") +(defvar outline-minor-mode-cycle) (defun outline-minor-mode-cycle--bind (map key binding &optional filter) (define-key map key `(menu-item @@@ -371,30 -358,35 +380,35 @@@ After that, changing the prefix key req (set-default sym val))) (defcustom outline-minor-mode-cycle nil - "Enable cycling of headings in `outline-minor-mode'. - When enabled, it puts a keymap with cycling keys on heading lines. - When point is on a heading line, then typing `TAB' cycles between `hide all', - `headings only' and `show all' (`outline-cycle'). Typing `S-TAB' on - a heading line cycles the whole buffer (`outline-cycle-buffer'). - Typing these keys anywhere outside heading lines uses their default bindings." + "Enable visibility-cycling commands on headings in `outline-minor-mode'. + If enabled, typing `TAB' on a heading line cycles the visibility + state of that heading's body between `hide all', `headings only' + and `show all' (`outline-cycle'), and typing `S-TAB' on a heading + line likewise cycles the visibility state of the whole buffer + \(`outline-cycle-buffer'). + Typing these keys anywhere outside heading lines invokes their default + bindings, per the current major mode." :type 'boolean + :safe #'booleanp :version "28.1") -;;;###autoload(put 'outline-minor-mode-cycle 'safe-local-variable 'booleanp) (defcustom outline-minor-mode-highlight nil - "Highlight headings in `outline-minor-mode' using font-lock keywords. - Non-nil value works well only when outline font-lock keywords - don't conflict with the major mode's font-lock keywords. - When t, it puts outline faces only if there are no major mode's faces - on headings. When `override', it completely overwrites major mode's - faces with outline faces. When `append', it tries to append outline - faces to major mode's faces." - :type '(choice (const :tag "No highlighting" nil) - (const :tag "Overwrite major mode faces" override) - (const :tag "Append outline faces to major mode faces" append) - (const :tag "Highlight separately from major mode faces" t)) + "Whether to highlight headings in `outline-minor-mode' using font-lock keywords. + This option controles whether `outline-minor-mode' will use its font-lock + keywords to highlight headings, which could potentially conflict with + font-lock faces defined by the major mode. Thus, a non-nil value will + work well only when there's no such conflict. + If the value is t, use outline faces only if there are no major mode's + font-lock faces on headings. When `override', completely overwrite major + mode's font-lock faces with outline faces. When `append', try to append + outline font-lock faces to those of major mode." + :type '(choice (const :tag "Do not use outline font-lock highlighting" nil) + (const :tag "Overwrite major mode font-lock faces" override) + (const :tag "Append outline font-lock faces to major mode's" + append) + (const :tag "Highlight with outline font-lock faces only if major mode doesn't" t)) + :safe #'symbolp :version "28.1") -;;;###autoload(put 'outline-minor-mode-highlight 'safe-local-variable 'symbolp) (defun outline-minor-mode-highlight-buffer () ;; Fallback to overlays when font-lock is unsupported.