* 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.