Eli Zaretskii [Wed, 30 May 2012 18:09:17 +0000 (21:09 +0300)]
Fix bug #11587 with a crash in an Info buffer under linum-mode.
src/xdisp.c (handle_stop): Detect whether we have overlay strings
loaded by testing it->current.overlay_string_index to be
non-negative, instead of checking whether n_overlay_strings is
positive.
Eli Zaretskii [Tue, 29 May 2012 16:15:12 +0000 (19:15 +0300)]
Fix bug #11405 with MSVC build of emacsclientw.
lib-src/makefile.w32-in ($(BLD)/emacsclientw.exe): Use $(MWINDOWS)
instead of a literal -mwindows, which is not supported by MSVC.
nt/nmake.defs (MWINDOWS): Define as "-subsystem:windows -entry:mainCRTStartup".
Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
nt/gmake.defs (MWINDOWS): Define as "-mwindows".
Eli Zaretskii [Tue, 29 May 2012 16:01:05 +0000 (19:01 +0300)]
Don't call r_alloc_inhibit_buffer_relocation from search.c.
src/search.c (search_buffer): Remove calls to
r_alloc_inhibit_buffer_relocation, as it is now called by
maybe_unify_char, which was the cause of relocation of buffer text
in bug#11519.
Eli Zaretskii [Mon, 28 May 2012 16:50:10 +0000 (19:50 +0300)]
Avoid buffer text relocations in calls to STRING_CHAR_* macros.
src/charset.c (maybe_unify_char): Inhibit relocation of buffer text
for the duration of call to load_charset, to avoid problems with
callers of maybe_unify_char that access buffer text through C
pointers.
src/ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
decrement the inhibition flag, instead of just setting or
resetting it.
Eli Zaretskii [Mon, 28 May 2012 16:17:35 +0000 (19:17 +0300)]
Fix subtle problem with redirection in nt/configure.bat.
nt/configure.bat (genmakefiles): Move the redirection away from the
end of the command, to avoid excess whitespace at the end of Make
variables created at configure time, and also avoid things like
"FOO1>>config.settings", where "1" gets interpreted as the file
descriptor and eaten up. This fixes breakage introduced by the
last change, without reintroducing the bug fixed by that change.
Eli Zaretskii [Wed, 23 May 2012 17:32:28 +0000 (20:32 +0300)]
Fix bug #11519 with relocation of buffer text during regex search.
src/lisp.h [REL_ALLOC]: Add prototypes for external functions
defined on ralloc.c.
src/buffer.c [REL_ALLOC]: Remove prototypes of
r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
they are now on lisp.h.
src/ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
src/search.c (search_buffer): Use it to inhibit relocation of buffer
text while re_search_2 is doing its job, because re_search_2 is
passed C pointers to buffer text.
Eli Zaretskii [Sat, 19 May 2012 12:14:11 +0000 (15:14 +0300)]
A better fix for bug #11464 with pos-visible-in-window-p and R2L text.
src/xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
state after an additional call to move_it_in_display_line_to, keep
the values of it->max_ascent and it->max_descent found for the
entire line.
(pos_visible_p): Revert the comparison against bottom_y to what it
was in 2012-05-13T18:22:35Z!eliz@gnu.org.
Eli Zaretskii [Fri, 18 May 2012 09:41:42 +0000 (12:41 +0300)]
Fix "C-c C-r" in mail-mode invoked from Rmail.
lisp/mail/sendmail.el (mail-yank-region): Recognize
rmail-yank-current-message in addition to insert-buffer. Fixes
mail-mode's "C-c C-r" that otherwise does nothing when invoked in
a *mail* buffer created through rmail-start-mail with sendmail as
mail-user-agent.
Martin Rudalics [Tue, 15 May 2012 09:38:50 +0000 (11:38 +0200)]
Some minor fixes of Elisp manual.
* commands.texi (Recursive Editing): recursive-edit is a
command.
* compile.texi (Docs and Compilation):
byte-compile-dynamic-docstrings is an option.
* debugging.texi (Invoking the Debugger): debug is a command.
* display.texi (Progress): progress-reporter-update and
progress-reporter-force-update have VALUE argument optional.
(Animated Images): Use non-@code{nil} instead of non-nil.
* files.texi (Format Conversion Round-Trip): Use non-@code{nil}
instead of non-nil.
* frames.texi (Creating Frames): make-frame is a command.
(Input Focus): select-frame is a command.
(Pointer Shape): void-text-area-pointer is an option.
* help.texi (Describing Characters): read-kbd-macro is a
command.
(Help Functions): describe-prefix-bindings is a command.
* markers.texi (Creating Markers): Both arguments of copy-marker
are optional.
* minibuf.texi (Reading File Names): Use @kbd instead of @code.
* modes.texi (Mode Line Variables): mode-line-remote and
mode-line-client are not options.
(Imenu): imenu-add-to-menubar is a command.
(SMIE Indentation Helpers): Use non-@code{nil} instead of
non-nil.
* os.texi (Sound Output): play-sound-file is a command.
* package.texi (Package Archives): Use @key{RET} instead of
@kbd{RET}.
* processes.texi (Signals to Processes): Use @key{RET} instead
of @code{RET}.
(Signals to Processes): signal-process is a command.
* text.texi (Clickable Text): Use @key{RET} instead of
@kbd{RET}.
(Base 64): base64-encode-string is not a command while
base64-decode-region is.
* windows.texi (Switching Buffers): pop-to-buffer is a command.
Eli Zaretskii [Sun, 13 May 2012 18:22:35 +0000 (21:22 +0300)]
Fix bug #11464 with pos-visible-in-window-p and R2L text in L2R paragraph.
src/xdisp.c (pos_visible_p): Don't report a position visible when move_it_to
stopped at the last line of window, which happens to be scanned
backwards by the bidi iteration.
Eli Zaretskii [Sun, 13 May 2012 15:35:13 +0000 (18:35 +0300)]
Fix bug #11417 with infloop when left-fringe/right-fringe spec is used on TTY.
src/xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we
already have overlays loaded.
(handle_single_display_spec): Before returning without displaying
fringe bitmap, synchronize the bidi iterator with the main display
iterator, by calling iterate_out_of_display_property.
(iterate_out_of_display_property): Detect buffer iteration by
testing that it->string is a Lisp string.
(get_next_display_element): When the current object is exhausted,
and there's something on it->stack, call set_iterator_to_next to
proceed with what's on the stack, instead of returning zero.
(set_iterator_to_next): If called at the end of a Lisp string,
proceed to consider_string_end without incrementing string
position. Don't increment display vector index past the end of
the display vector.
Eli Zaretskii [Fri, 11 May 2012 14:05:06 +0000 (17:05 +0300)]
Fix display when left-fringe/right-fringe display spec is invalid.
src/xdisp.c (handle_single_display_spec): Return 1 for left-margin
and right-margin display specs even if the spec is invalid or we
are on a TTY, and thus unable to display on the fringes. That's
because the text with the property will not be displayed anyway,
so we need to signal to the caller that this is a "replacing"
display spec. This fixes display when the spec is invalid or we
are on a TTY.
Jason L. Wright [Wed, 9 May 2012 19:12:20 +0000 (21:12 +0200)]
* mail/smtpmail.el (smtpmail-send-command): Send the command and
the following \r\n using a single `process-send-string', since the
Lotus SMTP server refuses to accept any commands if they are sent
with two `process-send-string's.
Chong Yidong [Mon, 7 May 2012 03:14:21 +0000 (11:14 +0800)]
Fix a gdb-mi process filtering issue arising in ansi-color.el.
* lisp/ansi-color.el (ansi-color-process-output): Check for validity
of comint-last-output-start before using it. This avoids a bad
interaction with gdb-mi's input/output buffer.
Eli Zaretskii [Sat, 5 May 2012 08:40:31 +0000 (11:40 +0300)]
Fix failures in starting subprocesses on Windows 7.
src/w32proc.c (new_child): Force Windows to reserve only 64KB of
stack for each reader_thread, instead of defaulting to 8MB
determined by the linker. This avoids failures in creating
subprocesses on Windows 7, see the discussion in this thread:
http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html.
Stefan Monnier [Sat, 5 May 2012 04:18:49 +0000 (00:18 -0400)]
* lisp/shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like
shell-delimiter-argument-list.
(shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list.
Glenn Morris [Sat, 5 May 2012 00:37:30 +0000 (20:37 -0400)]
More small edits for doc/lispref
* control.texi: Where possible, use example rather than smallexample.
(Sequencing, Conditionals, Signaling Errors, Handling Errors):
Tweak page breaks.
* customize.texi: Where possible, use example rather than smallexample.
(Common Keywords, Variable Definitions, Applying Customizations)
(Custom Themes): Tweak page breaks.
* eval.texi, functions.texi, loading.texi, macros.texi:
Where possible, use example rather than smallexample.
* sequences.texi (Arrays): Tweak page breaks.
* symbols.texi: Where possible, use example rather than smallexample.
(Symbol Components): Fix typo.
(Other Plists): Tweak page break.
Glenn Morris [Thu, 3 May 2012 06:43:02 +0000 (23:43 -0700)]
Small edits for programs.texi in Emacs manual
* doc/emacs/programs.texi (Programs, Electric C): Copyedits.
(Program Modes): Add xref to Fortran.
(Left Margin Paren): Remove what was (oddly enough) the only use
of defvar in the entire Emacs manual.
(Hungry Delete): Remove footnote about ancient Emacs version.
(Other C Commands): Use example rather than smallexample.
Glenn Morris [Thu, 3 May 2012 02:04:07 +0000 (22:04 -0400)]
* doc/emacs/frames.texi (Fonts): Tweak line and page breaks.
Change cross-reference.
Use example rather than smallexample (these examples are not wide,
smallexample saves little vertical space, but makes things harder to
read).
Glenn Morris [Tue, 1 May 2012 07:38:15 +0000 (00:38 -0700)]
Only print the edition number of the manuals in the TeX version
Frankly, I think the edition conveys little to no information.
The version number of Emacs is much more relevant.
No-one seems to know what the rules are for updating the edition anyway...
* doc/emacs/emacs.texi (@copying): Only print EDITION in the TeX version.
* doc/lispref/elisp.texi (@copying):
* doc/lispref/intro.texi (Introduction): Only print VERSION in the TeX version.
Eli Zaretskii [Mon, 30 Apr 2012 12:50:12 +0000 (15:50 +0300)]
Resurrect encoding of replies by Rmail which was lost in 2012-04-11T21:37:13Z!monnier@iro.umontreal.ca.
lisp/mail/rmail.el (rmail-yank-current-message): Use the encoding of
the yanked message in preference to the default value of
buffer-file-coding-system.