Martin Rudalics [Sun, 4 Nov 2018 08:15:13 +0000 (09:15 +0100)]
Rewrite documentation of buffer display
* doc/emacs/windows.texi (Window Choice): Rewrite, replacing
references to older buffer display options with references to
and examples of buffer display actions.
(Temporary Displays): Rewrite display of *Completions*
example.
* doc/lispref/elisp.texi (Top): New Windows section
'Displaying Buffers'.
* doc/lispref/frames.texi (Child Frames): Adjust cross
reference.
* doc/lispref/windows.texi (Windows): New section 'Displaying
Buffers'. Move sections 'Choosing Window', 'Display Action
Functions' and 'Choosing Window Options' there and adjust
namings. Preferably write 'Buffer Display Action' instead of
'Display Action'. More consistently use @w{} to make key
binding specifications unsplittable.
(Displaying Buffers): New section.
(Choosing Window): Make it a subsection of 'Displaying
Buffers'. More explicitly describe how 'display-buffer'
compiles its list of action functions and the action alist.
(Buffer Display Action Functions): Rename from 'Display Action
Functions', make it a subsection of 'Displaying Buffers' and
rewrite it. Elide more detailed descriptions of action alist
entries; these are now in the new section 'Buffer Display
Action Functions'. Remove example.
(Buffer Display Action Alists): New subsection of 'Displaying
Buffers' giving a comprehensive description of recognized
action alist entries with appropriate indexing. Contents were
partially moved here from the old 'Display Action Functions'
section.
(Choosing Window Options): Make it a subsection of 'Displaying
Buffers'. Add examples of how to rewrite old buffer display
options with the help of buffer display actions.
(Precedence of Action Functions): New subsection of
'Displaying Buffers' explaining the execution order of action
functions with the help of a detailed example.
(The Zen of Buffer Display): New subsection of 'Displaying
Buffers' supplying guidelines on how to write and use buffer
display actions with examples.
(Side Windows, Displaying Buffers in Side Windows)
(Frame Layouts with Side Windows, Atomic Windows): Update
references to the 'Displaying Buffers' subsections.
Eli Zaretskii [Sat, 3 Nov 2018 13:11:33 +0000 (15:11 +0200)]
Improve documentation of destructuring-binding macros
* lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
(pcase-let*): Improve the doc strings.
* doc/lispref/sequences.texi (Sequence Functions): Improve
wording and rename arguments of seq-let to be more
descriptive. Add a cross-reference to "Destructuring with
pcase Patterns".
* doc/lispref/control.texi (Pattern-Matching Conditional):
Improve wording and the menu.
(pcase Macro): Incorporate patch suggested by Paul Eggert
<eggert@cs.ucla.edu>. Reformat text.
(Destructuring with pcase Patterns): Rename from
"Destructuring patterns", and improve wording and indexing.
* lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output
before processing its constituent lines. Otherwise, if rcirc-filter
runs again before the last rcirc-process-server-response is
finished, the contents of rcirc-process-output could be duplicated.
Jordan Wilson [Wed, 10 Oct 2018 10:45:57 +0000 (11:45 +0100)]
Avoid file-name errors when viewing PDF from Gnus
* lisp/doc-view.el (doc-view-mode): Run the output file name
through 'convert-standard-filename', to avoid problems with
characters that are not allowed in file names on some
systems. (Bug#32989)
Eli Zaretskii [Fri, 2 Nov 2018 10:07:47 +0000 (12:07 +0200)]
Avoid crashes with remapped default face in Org mode
* src/xfaces.c (face_at_buffer_position): Look up BASE_FACE_ID
anew if it is not in the frame's face cache. This avoids
crashes when Org mode sets up for a new major mode in embedded
code fragment, and the default face is remapped. (Bug#33222)
Gemini Lasswell [Wed, 31 Oct 2018 04:15:51 +0000 (21:15 -0700)]
Add regression test for Bug#33014
Backport from master.
* test/src/eval-tests.el:
(eval-tests-byte-code-being-evaluated-is-protected-from-gc): New test.
(eval-tests-33014-var): New variable.
(eval-tests-33014-func, eval-tests-33014-redefine): New functions.
Paul Eggert [Wed, 31 Oct 2018 04:14:10 +0000 (21:14 -0700)]
Refer to bytecode constant vectors (Bug#33014)
Backport from master.
* src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
so that it survives GC. The stack slot was otherwise unused,
so this doesn’t cost us memory, only a store insn.
Add index entries for more isearch commands/bindings (Bug#32990)
* doc/emacs/search.texi (Basic Isearch): Index isearch-exit,
isearch-abort, isearch-cancel, isearch-repeat-forward,
isearch-repeat-backward and their bindings.
(Repeat Isearch): Index isearch-ring-advance,
isearch-ring-retreat and isearch-edit-string.
(Special Isearch): Index isearch-quote-char,
isearch-char-by-name and their bindings. Index
isearch-query-replace and isearch-query-replace-regexp, and
the latter's binding. Explain what
isearch-query-replace-regexp does. Index isearch-complete.
(Word Search): Index isearch-toggle-word.
Eli Zaretskii [Sat, 27 Oct 2018 10:18:33 +0000 (13:18 +0300)]
Improve documentation of 'process-connection-type'
* doc/lispref/processes.texi (Asynchronous Processes): Clarify
better when it is advisable to use pipes for communicating
with subprocesses. (Bug#33050)
Unify prompt for gnupg passphrase between GNU/Linux and MS-Windows.
* lisp/epg.el (epg--start): Use 'raw-text' for coding system instead
of 'binary', in order to avoid spurious carriage return on Microsoft
Windows and MS-DOS when prompting for a password. (Bug#33040)
Eli Zaretskii [Sat, 27 Oct 2018 09:14:35 +0000 (12:14 +0300)]
Doc fix of 'gnus-fetch-old-headers'
* lisp/gnus/gnus-sum.el (gnus-fetch-old-headers): Avoid
treating 'some' and 'invisible' as symbols that need to be
hyperlinked. Reported by Robert Pluim <rpluim@gmail.com>.
(Bug#33090)
Eli Zaretskii [Sat, 27 Oct 2018 08:24:53 +0000 (11:24 +0300)]
Improve documentation of X resource loading
* doc/emacs/cmdargs.texi (Initial Options):
* doc/emacs/frames.texi (Frame Parameters):
* doc/emacs/xresources.texi (Resources): Document the
'--no-x-resources' command-line option and the fact that X
resources override .emacs settings of frame parameters.
(Bug#32975)
* doc/emacs/search.texi (Basic Isearch): Index
'isearch-delete-char', its keybinding and the isearch "input
item" concept, and define the latter.
(Error in Isearch): Clarify the different uses of DEL and
C-M-w during isearch.
* lisp/isearch.el (isearch-delete-char): Correct its
documentation and link to the Info node '(emacs)Basic Isearch'
which explains less technically how this function works in
everyday usage.
Alan Third [Sun, 14 Oct 2018 18:12:00 +0000 (19:12 +0100)]
Fix some NS drawing issues (bug#32932)
* src/nsterm.m (ns_clip_to_rect):
(ns_reset_clipping): Remove gsaved variable and associated code.
(ns_flush_display): Remove function.
(ns_copy_bits): use translateRectsNeedingDisplayInRect:by: to copy any
pending drawing actions along with the image.
([EmacsView windowWillResize:toSize:]): Remove unneeded call.
([EmacsView drawRect:]): Remove redundant call to ns_clear_frame_area,
and optimize the exposed rectangles.
(ns_draw_window_cursor): Remove unneeded disabling of screen updates.
Robert Pluim [Tue, 23 Oct 2018 10:19:19 +0000 (12:19 +0200)]
Correct typo in GNU ELPA url
* doc/misc/efaq.texi (Packages that do not come with Emacs):
Correct typo in GNU ELPA url (Bug#33072). Change other url
references to use https scheme.
This fixes Bug#32630: since "dired-aux" moved to lexical binding mode,
the free variable TO in the constructed HELP-FORM got out of scope of
the surrounding 'let'.
* lisp/dired-aux.el (dired-create-files): Make the binding of
HELP-FORM a string.
Juri Linkov [Wed, 17 Oct 2018 22:24:43 +0000 (01:24 +0300)]
* lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load file with .el suffix.
For the case when load-prefer-newer is t, ensure loading the right file
by explicitly adding the .el suffix. Use the same variable names
as in the function smtpmail-send-it. (Bug#33055)
Alan Mackenzie [Mon, 15 Oct 2018 19:04:05 +0000 (19:04 +0000)]
Clarify documentation of fractional vertical scrolling and some doc strings
* doc/lispref/windows.texi (vertical scrolling): Clarify the meaning of
vertical scrolling by referring to tall screen lines, images, and the display
action. Clarify an ambiguous English tense.
* src/window.c (window-vscroll, set-window-vscroll): Amend doc strings to
refer to display.
Eli Zaretskii [Sat, 13 Oct 2018 16:47:01 +0000 (19:47 +0300)]
Fix redisplay of glyphless characters
* src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
builds. Suggested by Tom Tromey <tom@tromey.com>. (Bug#33017)
* src/dispnew.c (scrolling_window): Update commentary
regarding xwidget builds.
Eli Zaretskii [Sat, 13 Oct 2018 08:36:04 +0000 (11:36 +0300)]
Update the description of startup in ELisp manual
* doc/lispref/os.texi (Startup Summary): Remove stale
reference to window-system-initialization-alist. Reported by
Zhang Haijun <ccsmile2008@outlook.com>.
Eli Zaretskii [Sat, 13 Oct 2018 06:44:09 +0000 (09:44 +0300)]
Use the 'line-number' face for line-number fields past EOB
* src/xdisp.c (get_phys_cursor_geometry): Treat rows at and
beyond ZV specially. Don't let the cursor exceed the
vertical dimensions of the row.
(maybe_produce_line_number): Use the 'line-number' face
instead of 'default' for blank fields beyond ZV. Don't update
the IT metrics when displaying blank line-number fields beyond
ZV. (Bug#32337)
Eric Abrahamsen [Thu, 11 Oct 2018 18:20:29 +0000 (11:20 -0700)]
Fix bug with precious entries in Gnus registry
* lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
an error: it meant that the last key in the precious list, would be
considered a nil. Since the precious list only contains the symbol
'mark by default, marks were never considered precious.
* doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
be "mark".
Scott Corley [Mon, 8 Oct 2018 06:21:40 +0000 (23:21 -0700)]
Fix overflow lockup with frames > 255 lines
Backport from master.
* src/scroll.c (struct matrix_elt): Change unsigned char fields to
int to handle frames with more than 255 lines (Bug#32951).
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sun, 7 Oct 2018 14:45:12 +0000 (17:45 +0300)]
Avoid assertion violations in nonsensical calls to 'signal'
* src/eval.c (Fsignal): If both arguments are nil, replace the
first one with 'error', to avoid assertion violations further
down the line. (Bug#32961)
Katsumi Yamaoka [Fri, 5 Oct 2018 00:22:20 +0000 (00:22 +0000)]
Make nneething allow CRLF-encoded files (bug#32940)
* lisp/gnus/nneething.el (nneething-request-article):
Bind coding system to raw-text instead of binary when reading a file,
that may be CRLF-encoded (bug#32940).
Eric Abrahamsen [Sun, 8 Apr 2018 23:49:20 +0000 (16:49 -0700)]
Further fix to eieio-persistent
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
Make handling of hash tables and vectors recursive. This is
necessary because the write process, in `eieio-override-prin1' is
also recursive. With any luck, this will be the last fix of its
kind. If that's true, cherry-pick to Emacs 26.2 later on.
* src/minibuf.c (syms_of_minibuf) <Vread_hide_char>: Clarify
documentation and mention where else the variable is used.
* doc/lispref/minibuf.texi (Reading a Password): Add an index
entry for 'read-hide-char'.
Alan Mackenzie [Wed, 3 Oct 2018 15:57:15 +0000 (15:57 +0000)]
In follow mode, prevent the cursor resting on a partially displayed line
Don't merge to master. This fixes bug #32848
* lisp/follow.el (follow-adjust-window): If point ends up in a partially
displayed line in a left hand or middle window, move it one line
forward, to
prevent unwanted scrolling should make-cursor-line-fully-visible be
non-nil.
Nicolas Goaziou [Sat, 29 Sep 2018 14:40:42 +0000 (16:40 +0200)]
Org manual: Rewrite the Org Mobile section
* doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
Remove all references to non-free software.
Moved into "Miscellaneous", much like Org Crypt library. No longer an
appendix.
(Footnotes): Remove a reference to "MobileOrg".
(Bug#32722)
John Shahid [Fri, 21 Sep 2018 15:15:10 +0000 (11:15 -0400)]
Cleanup when opening a new terminal fails. (Bug#32794)
* src/term.c (init_tty): Call delete_terminal_internal if emacs_open
fail.
* src/terminal.c (delete_terminal): Move some code into
delete_terminal_internal and call it.
(delete_terminal_internal): New function.
* src/termhooks.h: Prototype for delete_terminal_internal.
Alan Third [Fri, 28 Sep 2018 19:23:07 +0000 (20:23 +0100)]
Make all NS drawing be done from drawRect
See bug#31904 and bug#32812.
* src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there
is already a view focused.
(ns_update_end): Don't mess with view focusing any more.
(ns_focus): Only clip drawing if there is already a focused view,
otherwise mark area dirty for later drawing. Renamed ns_clip_to_rect.
All callers changed.
(ns_unfocus): Don't unfocus the view any more. Renamed
ns_reset_clipping. All callers changed.
(ns_clip_to_row): Update to match ns_clip_to_rect.
(ns_clear_frame):
(ns_clear_frame_area):
(ns_draw_fringe_bitmap):
(ns_draw_window_cursor):
(ns_draw_vertical_window_border):
(ns_draw_window_divider):
(ns_dumpglyphs_stretch):
(ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row
return YES.
(ns_copy_bits): Remove superfluous calls to ns_(un)focus.
(ns_flush_display): New function.