bpt/emacs.git
12 years ago* floatfns.c (Fexpt): Avoid undefined signed * signed overflow.
Paul Eggert [Mon, 26 Sep 2011 15:27:22 +0000 (08:27 -0700)]
* floatfns.c (Fexpt): Avoid undefined signed * signed overflow.

12 years ago* cmds.c (internal_self_insert): Fix EMACS_INT type typo.
Paul Eggert [Mon, 26 Sep 2011 15:25:04 +0000 (08:25 -0700)]
* cmds.c (internal_self_insert): Fix EMACS_INT type typo.

12 years agoMerge from trunk.
Paul Eggert [Mon, 26 Sep 2011 05:52:31 +0000 (22:52 -0700)]
Merge from trunk.

12 years ago* eval.c (Fprog1, Fprog2): Don't assume list length fits in int. Simplify.
Paul Eggert [Mon, 26 Sep 2011 05:50:37 +0000 (22:50 -0700)]
* eval.c (Fprog1, Fprog2): Don't assume list length fits in int.  Simplify.

12 years agoUpdates to admin/make-tarball.txt.
Chong Yidong [Mon, 26 Sep 2011 03:40:18 +0000 (23:40 -0400)]
Updates to admin/make-tarball.txt.

12 years agoBump version to 24.0.90.
Chong Yidong [Mon, 26 Sep 2011 03:20:03 +0000 (23:20 -0400)]
Bump version to 24.0.90.
Regenerate AUTHORS and ldefs-boot.el.

12 years ago* admin.el (set-version): Fix regexps for config.nt and sed2v2.inp.
Chong Yidong [Mon, 26 Sep 2011 03:02:21 +0000 (23:02 -0400)]
* admin.el (set-version): Fix regexps for config.nt and sed2v2.inp.

12 years agoMerge from trunk.
Paul Eggert [Sun, 25 Sep 2011 21:06:35 +0000 (14:06 -0700)]
Merge from trunk.

12 years ago* lisp.h (XSETSUBR): Revert, as the old version is needed if debugging is enabled.
Paul Eggert [Sun, 25 Sep 2011 21:04:04 +0000 (14:04 -0700)]
* lisp.h (XSETSUBR): Revert, as the old version is needed if debugging is enabled.

12 years ago* puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts
Paul Eggert [Sun, 25 Sep 2011 21:03:13 +0000 (14:03 -0700)]
* puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts

configured --with-wide-int.

12 years ago* dbusbind.c (Fdbus_register_signal): When service is not
Michael Albinus [Sun, 25 Sep 2011 16:00:02 +0000 (18:00 +0200)]
* dbusbind.c (Fdbus_register_signal): When service is not
registered, use nil in Vdbus_registered_objects_table.  (Bug#9581)

12 years ago* net/dbus.el (dbus-unregister-object): Don't release services for
Michael Albinus [Sun, 25 Sep 2011 15:56:28 +0000 (17:56 +0200)]
* net/dbus.el (dbus-unregister-object): Don't release services for
registered signals.  (Bug#9581)

12 years agoAdd NEWS entries for quit-window, window-state functions, and ignore-window-parameters.
Martin Rudalics [Sun, 25 Sep 2011 15:29:14 +0000 (17:29 +0200)]
Add NEWS entries for quit-window, window-state functions, and ignore-window-parameters.

12 years agoDescribe window quitting, configuration and parameter additions.
Martin Rudalics [Sun, 25 Sep 2011 15:08:25 +0000 (17:08 +0200)]
Describe window quitting, configuration and parameter additions.

* windows.texi (Quitting Windows): New node.
(Window Configurations): Add descriptions of window-state-get
and window-state-put.
(Window Parameters): Describe variable ignore-window-parameters.
Sketch some window parameters currently in use.
* elisp.texi (Top): Update node listing.

12 years ago* lisp/progmodes/cfengine.el (cfengine-auto-mode): Add convenience function.
Ted Zlatanov [Sun, 25 Sep 2011 11:52:53 +0000 (07:52 -0400)]
* lisp/progmodes/cfengine.el (cfengine-auto-mode): Add convenience function.

* lisp/progmodes/cfengine.el (cfengine-auto-mode): Add convenience
function that picks between cfengine 2 and 3 support
automatically.  Update docs accordingly.

12 years agoAuto-commit of generated files.
Glenn Morris [Sun, 25 Sep 2011 10:19:40 +0000 (06:19 -0400)]
Auto-commit of generated files.

12 years agoSome minor changes in windows section.
Martin Rudalics [Sun, 25 Sep 2011 10:11:25 +0000 (12:11 +0200)]
Some minor changes in windows section.

* windows.texi (Windows and Frames, Display Action Functions)
(Switching Buffers): Fix some typos.
(Buffers and Windows): Remove reference to window-auto-delete.
Reword description of replace-buffer-in-windows.
(Window History): Fix some typos and refer to frame local buffer
list.

12 years agoMerge from trunk.
Paul Eggert [Sun, 25 Sep 2011 03:43:22 +0000 (20:43 -0700)]
Merge from trunk.

12 years agoDocument display-buffer-alist and related variables in Lisp manual.
Chong Yidong [Sun, 25 Sep 2011 03:32:51 +0000 (23:32 -0400)]
Document display-buffer-alist and related variables in Lisp manual.

* doc/lispref/windows.texi (Display Action Functions)
(Choosing Window Options): New nodes.

12 years ago* src/buffer.c (truncate-lines): Doc fix.
Glenn Morris [Sun, 25 Sep 2011 02:30:31 +0000 (19:30 -0700)]
* src/buffer.c (truncate-lines): Doc fix.

12 years ago* coding.c (ENCODE_ISO_CHARACTER): Use unsigned, not int,
Paul Eggert [Sun, 25 Sep 2011 01:28:59 +0000 (18:28 -0700)]
* coding.c (ENCODE_ISO_CHARACTER): Use unsigned, not int,

to store the unsigned result of ENCODE_CHAR.

12 years ago* charset.h (DECODE_CHAR): Return int, not unsigned;
Paul Eggert [Sun, 25 Sep 2011 01:27:19 +0000 (18:27 -0700)]
* charset.h (DECODE_CHAR): Return int, not unsigned;

this is what was intended anyway, and it avoids undefined behavior.
(CHARSET_OFFSET): Remove unused macro, instead of fixing its
integer-overflow issues.
(ENCODE_CHAR): Return unsigned on all hosts, not just on 32-bit hosts.
Formerly, it returned EMACS_INT on 64-bit hosts in the common case
where the argument is EMACS_INT, and this behavior is not intended.

12 years ago* charset.c: Integer overflow fixes.
Paul Eggert [Sun, 25 Sep 2011 01:22:30 +0000 (18:22 -0700)]
* charset.c: Integer overflow fixes.

Don't rely on undefined behavior with signed left shift overflow.
Don't assume unsigned int fits into fixnum, or that fixnum fits
into unsigned int.  Don't require max_code to be a valid fixnum;
that's not true for gb10830 4-byte on a 32-bit host.  Allow
invalid_code to be a cons, for the same reason.  Require code_offset
to be a character.  Avoid int overflow if max_char is close
to INT_MAX.
(CODE_POINT_TO_INDEX): On 32-bit hosts, return int, not unsigned;
this is intended anyway and avoids some undefined behavior.
(load_charset_map): Pass unsigned, not int, as 2nd arg of
INDEX_TO_CODE_POINT, as that's what it expects.
(Funify_charset, encode_char): Don't stuff unsigned vals into int vars.

12 years agoSupport a new variable `shr-ignore-cache' to re-fetch images when hitting `g' in...
Lars Magne Ingebrigtsen [Sat, 24 Sep 2011 23:09:56 +0000 (23:09 +0000)]
Support a new variable `shr-ignore-cache' to re-fetch images when hitting `g' in Gnus.

gnus-sum.el (gnus-summary-show-article): Bind `shr-ignore-cache' to re-fetch images.
shr.el (shr-tag-img): Support a new variable `shr-ignore-cache' to re-fetch images when hitting `g' in Gnus.

12 years ago* url-http.el (url-http-create-request): Avoid adding extra CRLF (Bug#8931).
Christopher J. White [Sat, 24 Sep 2011 22:58:40 +0000 (18:58 -0400)]
* url-http.el (url-http-create-request): Avoid adding extra CRLF (Bug#8931).

12 years agoMinor doc fixes for some window functions.
Chong Yidong [Sat, 24 Sep 2011 22:51:36 +0000 (18:51 -0400)]
Minor doc fixes for some window functions.

Minor doc fixes for switch-to-buffer, window-prev-buffers,
set-window-prev-buffers, set-window-next-buffers.

12 years agoDocument display-buffer and other window changes in Lisp manual.
Chong Yidong [Sat, 24 Sep 2011 22:49:32 +0000 (18:49 -0400)]
Document display-buffer and other window changes in Lisp manual.

* doc/lispref/windows.texi (Window History): New node.  Move text here
from Buffers and Windows.
(Switching Buffers): Rename from Displaying Buffers, since we
don't document display-buffer here; callers changed.  Document
FORCE-SAME-WINDOW arg to switch-to-buffer and
switch-to-buffer-other-frame.  Delete duplicate
replace-buffer-in-windows doc.
(Choosing Window): Document display actions.

12 years ago* allout.el (allout-this-command-hid-stuff): Buffer-local variable that's
Ken Manheimer [Sat, 24 Sep 2011 20:58:23 +0000 (16:58 -0400)]
* allout.el (allout-this-command-hid-stuff): Buffer-local variable that's
true if the current command involved collapsing of text.  It's reset to
false at the beginning of the next command.
(allout-post-command-business): Move the cursor to the beginning of entry
if the cursor is hidden and collapsing activity just happened.

12 years ago* configure.in (CRT_DIR): Fix netbsd/openbsd handling.
Glenn Morris [Sat, 24 Sep 2011 19:06:20 +0000 (12:06 -0700)]
* configure.in (CRT_DIR): Fix netbsd/openbsd handling.

Ref: http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00562.html

12 years ago* mouse.el (mouse-drag-track): Set scroll-margin to 0 while tracking.
Chong Yidong [Sat, 24 Sep 2011 18:38:20 +0000 (14:38 -0400)]
* mouse.el (mouse-drag-track): Set scroll-margin to 0 while tracking.

Fixes: debbugs:9541

12 years ago* src/minibuf.c (read_minibuf): Disable line truncation. (Bug#5715)
Glenn Morris [Sat, 24 Sep 2011 18:29:35 +0000 (11:29 -0700)]
* src/minibuf.c (read_minibuf): Disable line truncation.  (Bug#5715)

12 years ago* etc/PROBLEMS: Very long lines being slow is a known issue.
Glenn Morris [Sat, 24 Sep 2011 18:27:18 +0000 (11:27 -0700)]
* etc/PROBLEMS: Very long lines being slow is a known issue.

12 years agoWindow-related updates to NEWS and Emacs manual.
Chong Yidong [Sat, 24 Sep 2011 18:19:20 +0000 (14:19 -0400)]
Window-related updates to NEWS and Emacs manual.

* etc/NEWS: Reorganize, placing user options in Changes section.

* doc/emacs/buffers.texi (Select Buffer): Clarify description of
buffer-switching commands.  Add xref to Window Display node.
Don't repeat confirm-nonexistent-file-or-buffer description from
Visiting node.  Remove even-window-heights.

* doc/emacs/frames.texi (Special Buffer Frames): Add xref to Window Choice.

* doc/emacs/windows.texi (Pop Up Window): Defer discussion of window
splitting to the Window Choice node.  Add index entries.
(Force Same Window): Node deleted.
(Displaying Buffers, Window Choice): New nodes.

12 years agoFix minor problems found by static checking.
Paul Eggert [Sat, 24 Sep 2011 16:31:55 +0000 (09:31 -0700)]
Fix minor problems found by static checking.

* xdisp.c (string_from_display_spec): Don't assume vecsize fits in int.
* indent.c (Fvertical_motion): Fix == vs = typo.

12 years ago* xdisp.c (string_from_display_spec): Don't use int for vector length.
Paul Eggert [Sat, 24 Sep 2011 16:28:25 +0000 (09:28 -0700)]
* xdisp.c (string_from_display_spec): Don't use int for vector length.

12 years ago* indent.c (Fvertical_motion): Fix == vs = typo.
Paul Eggert [Sat, 24 Sep 2011 16:15:32 +0000 (09:15 -0700)]
* indent.c (Fvertical_motion): Fix == vs = typo.

12 years agoChange the default value of redisplay-dont-pause to t.
Eli Zaretskii [Sat, 24 Sep 2011 14:38:16 +0000 (17:38 +0300)]
Change the default value of redisplay-dont-pause to t.

 src/dispnew.c (syms_of_display) <redisplay-dont-pause>: Default
 value is now t.  Doc fix.
 doc/lispref/display.texi (Forcing Redisplay): Update the description of
 redisplay-dont-pause due to change in the default value.
 etc/NEWS: Mention the change of the default value.

12 years agonewsticker: automatically load html rendering packages.
Ulf Jasper [Sat, 24 Sep 2011 14:04:46 +0000 (16:04 +0200)]
newsticker: automatically load html rendering packages.

lisp/ChangeLog:

2011-09-24  Ulf Jasper  <ulf.jasper@web.de>

* net/newst-reader.el (newsticker-html-renderer)
(newsticker-show-news): Automatically load html rendering package
if newsticker-html-renderer is set. Fixes "Warning: defvar ignored
because w3m-fill-column is let-bound" and the error "Symbol's
value as variable is void: w3m-fill-column".

12 years agoFix vertical cursor motion when the newline is covered by a display string.
Eli Zaretskii [Sat, 24 Sep 2011 13:23:58 +0000 (16:23 +0300)]
Fix vertical cursor motion when the newline is covered by a display string.

 src/indent.c (Fvertical_motion): Compute and apply the overshoot
 logic when moving up, not only when moving down.  Fix the
 confusing name and values of the it_overshoot_expected variable;
 logic changes accordingly.  (Bug#9254) (Bug#9549)
 src/xdisp.c (pos_visible_p): Produce correct pixel coordinates when
 CHARPOS is covered by a display string which includes newlines.
 (move_it_vertically_backward): Avoid inflooping when START_CHARPOS
 is covered by a display string with embedded newlines.

12 years ago* net/dbus.el (dbus-unregister-object): Remove match rule of signals.
Michael Albinus [Sat, 24 Sep 2011 11:45:13 +0000 (13:45 +0200)]
* net/dbus.el (dbus-unregister-object): Remove match rule of signals.
Release services only if they are defined.  (Bug#9581)

12 years ago* dbusbind.c (Fdbus_register_signal): Add match rule to
Michael Albinus [Sat, 24 Sep 2011 11:36:53 +0000 (13:36 +0200)]
* dbusbind.c (Fdbus_register_signal): Add match rule to
Vdbus_registered_objects_table.  (Bug#9581)
(Fdbus_register_method, Vdbus_registered_objects_table): Fix
docstring.

12 years agobidi.c: Whitespace changes and a few added parentheses,
Richard M. Stallman [Sat, 24 Sep 2011 10:31:37 +0000 (06:31 -0400)]
bidi.c: Whitespace changes and a few added parentheses,
to follow usual Emacs and GNU style.

12 years agodo not ignore write error for any output size
Jim Meyering [Sat, 24 Sep 2011 09:22:06 +0000 (11:22 +0200)]
do not ignore write error for any output size

The previous change was incomplete.
While it makes emacs --batch detect the vast majority of stdout
write failures, errors were still ignored whenever the output size is
k * (BUFSIZ+1) - 4.  E.g., on a system with BUFSIZ of 4096,
  $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \
      && echo FAIL: ignored write error
  FAIL: ignored write error
  $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \
      && echo FAIL: ignored write error
  FAIL: ignored write error
* emacs.c (Fkill_emacs): Also test ferror.  (Bug#9574)

12 years agoFor moving backward sentences,
Richard M. Stallman [Fri, 23 Sep 2011 23:55:52 +0000 (19:55 -0400)]
For moving backward sentences,
distinguish start of paragraph from start of its text.

12 years agoAutoload report-emacs-bug-query-existing-bugs.
Richard M. Stallman [Fri, 23 Sep 2011 23:47:27 +0000 (19:47 -0400)]
Autoload report-emacs-bug-query-existing-bugs.

12 years agoDon't allow killing Rmail view buffer by itself.
Richard M. Stallman [Fri, 23 Sep 2011 23:44:32 +0000 (19:44 -0400)]
Don't allow killing Rmail view buffer by itself.
It gets killed only when its Rmail buffer gets killed.

12 years ago* erc-button.el (erc-button-next-function): Scoping fix (Bug#9487).
Antoine Levitt [Fri, 23 Sep 2011 21:22:31 +0000 (17:22 -0400)]
* erc-button.el (erc-button-next-function): Scoping fix (Bug#9487).

12 years ago* lisp/international/mule-diag.el (mule-diag): Insert a newline after
Andreas Schwab [Fri, 23 Sep 2011 16:26:48 +0000 (18:26 +0200)]
* lisp/international/mule-diag.el (mule-diag): Insert a newline after
each fontset description.

12 years ago* lisp/simple.el (delete-trailing-whitespace): Document last change; simplify.
Stefan Monnier [Fri, 23 Sep 2011 15:06:14 +0000 (11:06 -0400)]
* lisp/simple.el (delete-trailing-whitespace): Document last change; simplify.

12 years agoDocument some window code changes in NEWS.
Martin Rudalics [Fri, 23 Sep 2011 15:01:49 +0000 (17:01 +0200)]
Document some window code changes in NEWS.

12 years ago* lisp/simple.el (delete-trailing-whitespace): Also delete
Peter J. Weisberg [Fri, 23 Sep 2011 14:56:00 +0000 (10:56 -0400)]
* lisp/simple.el (delete-trailing-whitespace): Also delete
extra newlines at the end of the buffer.

12 years ago* lisp/textmodes/picture.el: Make motion commands obey shift-select-mode.
Peter J. Weisberg [Fri, 23 Sep 2011 14:47:01 +0000 (10:47 -0400)]
* lisp/textmodes/picture.el: Make motion commands obey shift-select-mode.
(picture-newline): Use forward-line so as to ignore fields.

12 years ago* lisp/subr.el (with-wrapper-hook): Fix edebug spec.
Stefan Monnier [Fri, 23 Sep 2011 14:32:36 +0000 (10:32 -0400)]
* lisp/subr.el (with-wrapper-hook): Fix edebug spec.

12 years ago* simple.el (kill-line): Note effect of `show-trailing-whitespace'.
Lars Magne Ingebrigtsen [Fri, 23 Sep 2011 10:52:23 +0000 (12:52 +0200)]
* simple.el (kill-line): Note effect of `show-trailing-whitespace'.

Fixes: debbugs:4538

12 years ago* src/emacs.c (Fkill_emacs): In noninteractive mode exit
Andreas Schwab [Fri, 23 Sep 2011 09:56:55 +0000 (11:56 +0200)]
* src/emacs.c (Fkill_emacs): In noninteractive mode exit
non-successfully if a write error occurred on stdout.  (Bug#9574)

12 years ago* net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): Fix
Michael Albinus [Fri, 23 Sep 2011 09:38:41 +0000 (11:38 +0200)]
* net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): Fix
nasty bug using wrong cached values.

12 years agoprogmodes/cc-defs.el (c-version): Increase to 5.31.9.
Alan Mackenzie [Fri, 23 Sep 2011 09:24:47 +0000 (09:24 +0000)]
progmodes/cc-defs.el (c-version): Increase to 5.31.9.

12 years agoDocument changes to windows code.
Martin Rudalics [Fri, 23 Sep 2011 09:12:53 +0000 (11:12 +0200)]
Document changes to windows code.

* frames.texi (Frames and Windows): Move section and rename to
Windows and Frames in windows.texi.
* windows.texi (Windows): Restructure.
(Basic Windows): Rewrite.  Explain live and internal windows and
normalization functions.
(Windows and Frames): Move section here from frames.texi.
Describe subwindows, window combinations, window tree, and
corresponding functions including window-list here.
(Window Sizes): Rename section from Size of Window and move it
up in chapter.  Describe total and body sizes and the
corresponding functions.  Explain new semantics of
window-min-height/-width.
(Resizing Windows): Move section up in chapter.  Describe new
resize functions.
(Splitting Windows): Describe new behavior of split-window,
split-window-above-each-other and split-window-side-by-side.
Provide examples.  Describe window-nest and window-splits
options.
(Deleting Windows): Minor rewrite.
(Selecting Windows): Minor rewrite.  Describe
frame-selected-window and set-frame-selected-window here.
(Cyclic Window Ordering): Minor rewrite.  Describe
window-list-1.
(Buffers and Windows): Rewrite.  Explain a window's previous and
next buffers and the corresponding functions.
* elisp.texi (Top): Update node listings for frames and windows
sections.

12 years agoAdd reference to Bug#410 in ChangeLog entry.
Martin Rudalics [Fri, 23 Sep 2011 07:30:26 +0000 (09:30 +0200)]
Add reference to Bug#410 in ChangeLog entry.

12 years ago* window.el (pop-to-buffer): Ensure right window is selected if we chose another...
Chong Yidong [Fri, 23 Sep 2011 01:42:40 +0000 (21:42 -0400)]
* window.el (pop-to-buffer): Ensure right window is selected if we chose another frame.
Otherwise, C-x 5 b might not select the right window if reusing a
window on another frame.

12 years agoMake "C-x =" show display properties from overlays.
Eli Zaretskii [Thu, 22 Sep 2011 16:49:57 +0000 (19:49 +0300)]
Make "C-x =" show display properties from overlays.

 lisp/simple.el (what-cursor-position): Use get-char-property-change
 and next-single-char-property-change, to be able to show display
 properties that come from overlays as well as text properties.

12 years agoReintroduce pop-to-buffer-same-window; use it for previous users of same-window-*.
Chong Yidong [Thu, 22 Sep 2011 16:15:52 +0000 (12:15 -0400)]
Reintroduce pop-to-buffer-same-window; use it for previous users of same-window-*.

* window.el (pop-to-buffer-same-window): New (reinstated) fun.

* cmuscheme.el (run-scheme, switch-to-scheme):
* cus-edit.el (customize-group, custom-buffer-create)
(customize-browse):
* info.el (info):
* shell.el (shell):
* mail/sendmail.el (mail):
* progmodes/inf-lisp.el (inferior-lisp): Use it.

Fixes: debbugs:9532

12 years agoFix bug that C-x DEL deleted a newline before paragraph.
Richard M. Stallman [Thu, 22 Sep 2011 13:34:02 +0000 (09:34 -0400)]
Fix bug that C-x DEL deleted a newline before paragraph.

12 years ago* files.el (copy-directory): Set directory attributes only in case
Michael Albinus [Thu, 22 Sep 2011 10:00:07 +0000 (12:00 +0200)]
* files.el (copy-directory): Set directory attributes only in case
they could be retrieved from the source directory.  (Bug#9565)

12 years agoIn special-display-popup-frame reset new frame's previous buffers to nil.
Martin Rudalics [Thu, 22 Sep 2011 09:28:57 +0000 (11:28 +0200)]
In special-display-popup-frame reset new frame's previous buffers to nil.

* window.el (special-display-popup-frame): When popping up a new frame
reset its previous buffers to nil.  Simplify code.

12 years agoSmall hideshow fix - ignore strings as well as comments (tiny change)
Dima Kogan [Thu, 22 Sep 2011 07:24:08 +0000 (00:24 -0700)]
Small hideshow fix - ignore strings as well as comments (tiny change)

* lisp/progmodes/hideshow.el (hs-looking-at-block-start-p)
(hs-find-block-beginning, hs-hide-level-recursive):
Ignore strings as well as comments.

Fixes: debbugs:9502

12 years agoSmall sql.el fix (tiny change)
Andrew Schein [Thu, 22 Sep 2011 07:05:40 +0000 (00:05 -0700)]
Small sql.el fix (tiny change)

* lisp/progmodes/sql.el (sql-comint-postgres):
Convert port number to a string.

Fixes: debbugs:9556

12 years agoUndedicate window when quitting should switch to previous buffer.
Martin Rudalics [Thu, 22 Sep 2011 06:56:19 +0000 (08:56 +0200)]
Undedicate window when quitting should switch to previous buffer.

* window.el (quit-window): Undedicate window when switching to
previous buffer.  Reported by Thierry Volpiatto
<thierry.volpiatto@gmail.com>.

12 years agomml.el (mml-inhibit-compute-boundary): New internal variable.
Katsumi Yamaoka [Thu, 22 Sep 2011 04:43:36 +0000 (04:43 +0000)]
mml.el (mml-inhibit-compute-boundary): New internal variable.
 (mml-compute-boundary): Don't check collision if it is non-nil.
 (mml-compute-boundary-1): Use mml-generate-mime-1 to encode part before checking collision.

12 years agoFix ptrdiff_t/EMACS_INT confusion.
Paul Eggert [Wed, 21 Sep 2011 23:22:29 +0000 (16:22 -0700)]
Fix ptrdiff_t/EMACS_INT confusion.

12 years agoMerge changes made in Gnus trunk.
Lars Magne Ingebrigtsen [Wed, 21 Sep 2011 22:34:54 +0000 (22:34 +0000)]
Merge changes made in Gnus trunk.

gnus.texi (Archived Messages): Note the default (bug#9552).
message.el (message-indent-citation): Really make sure there's a newline at the end.
nnimap.el (nnimap-parse-flags): Make regexp less prone to overflows.  Fix suggested by John Wiegley.
pop3.el (pop3-open-server): Fix +OK end-of-command regexp.
gnus-art.el (gnus-treat-hide-citation): Add doc.
message.el (message-default-send-rename-function): Break out into its own function.
ecomplete.el (ecomplete-display-matches): Revert patch since it doesn't work under XEmacs.
nnimap.el (nnimap-map-port): New function to connect to 993 instead of "imaps" to word around Windows problems.
 (nnimap-open-connection-1): Use it.
message.el (message-indent-citation): Revert last change which made `F' not work.

12 years ago* fontset.c (reorder_font_vector): Fix min/MIN typo.
Paul Eggert [Wed, 21 Sep 2011 20:26:36 +0000 (13:26 -0700)]
* fontset.c (reorder_font_vector): Fix min/MIN typo.

12 years ago* syntax.c (scan_words): Revamp to pacify GCC 4.6.1.
Paul Eggert [Wed, 21 Sep 2011 20:22:36 +0000 (13:22 -0700)]
* syntax.c (scan_words): Revamp to pacify GCC 4.6.1.

12 years ago* search.c (wordify, Fset_match_data): Revamp to pacify GCC 4.6.1.
Paul Eggert [Wed, 21 Sep 2011 20:22:09 +0000 (13:22 -0700)]
* search.c (wordify, Fset_match_data): Revamp to pacify GCC 4.6.1.

12 years ago* process.c (Faccept_process_output): Fix typo in duration.
Paul Eggert [Wed, 21 Sep 2011 20:21:07 +0000 (13:21 -0700)]
* process.c (Faccept_process_output): Fix typo in duration.

12 years ago* lread.c (read_filtered_event): Use duration_to_sec_usec.
Paul Eggert [Wed, 21 Sep 2011 20:20:36 +0000 (13:20 -0700)]
* lread.c (read_filtered_event): Use duration_to_sec_usec.

12 years ago* keymap.c (Fkey_description): Recode slightly to pacify GCC 4.6.1 x86.
Paul Eggert [Wed, 21 Sep 2011 20:19:18 +0000 (13:19 -0700)]
* keymap.c (Fkey_description): Recode slightly to pacify GCC 4.6.1 x86.

12 years ago* ftfont.c (ftfont_shape_by_flt): Add lint_assume to pacify GCC 4.6.1 x86-64.
Paul Eggert [Wed, 21 Sep 2011 20:17:56 +0000 (13:17 -0700)]
* ftfont.c (ftfont_shape_by_flt): Add lint_assume to pacify GCC 4.6.1 x86-64.

12 years ago(xd_append_arg): Omit range check that is not needed
Paul Eggert [Wed, 21 Sep 2011 20:17:01 +0000 (13:17 -0700)]
(xd_append_arg): Omit range check that is not needed

on any practical host.  GCC 4.6.1 incorrectly complains
about it on x86-64.

12 years agoFix specpdl loop typo.
Paul Eggert [Wed, 21 Sep 2011 20:15:56 +0000 (13:15 -0700)]
Fix specpdl loop typo.

12 years ago* casetab.c (set_identity, shuffle): Use lint_assume.
Paul Eggert [Wed, 21 Sep 2011 20:14:57 +0000 (13:14 -0700)]
* casetab.c (set_identity, shuffle): Use lint_assume.

12 years ago(Fcall_process): Fix typo in volatile load/restore.
Paul Eggert [Wed, 21 Sep 2011 20:13:21 +0000 (13:13 -0700)]
(Fcall_process): Fix typo in volatile load/restore.

12 years agoMerge from trunk.
Paul Eggert [Wed, 21 Sep 2011 17:48:19 +0000 (10:48 -0700)]
Merge from trunk.

12 years ago* alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
Paul Eggert [Wed, 21 Sep 2011 17:41:20 +0000 (10:41 -0700)]
* alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):

(allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE)
(string_bytes, check_sblock, allocate_string_data):
(compact_small_strings, Fmake_bool_vector, make_string)
(make_unibyte_string, make_multibyte_string)
(make_string_from_bytes, make_specified_string)
(allocate_vectorlike, Fmake_vector, find_string_data_in_pure)
(make_pure_string, make_pure_c_string, make_pure_vector, Fpurecopy)
(mark_vectorlike):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(allocate_pseudovector):
Use int, not EMACS_INT, where int is wide enough.
(inhibit_garbage_collection, Fgarbage_collect):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* bidi.c (bidi_mirror_char): Use EMACS_INT, not int, where
int might not be wide enough.
(bidi_cache_search, bidi_cache_find, bidi_init_it)
(bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
(bidi_at_paragraph_end, bidi_find_paragraph_start)
(bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
(bidi_level_of_next_char, bidi_move_to_visually_next):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* buffer.c (copy_overlays, Fgenerate_new_buffer_name)
(Fkill_buffer, Fset_buffer_major_mode)
(advance_to_char_boundary, Fbuffer_swap_text)
(Fset_buffer_multibyte, overlays_at, overlays_in)
(overlay_touches_p, struct sortvec, record_overlay_string)
(overlay_strings, recenter_overlay_lists)
(adjust_overlays_for_insert, adjust_overlays_for_delete)
(fix_start_end_in_overlays, fix_overlays_before, modify_overlay)
(Fmove_overlay, Fnext_overlay_change, Fprevious_overlay_change)
(Foverlay_recenter, last_overlay_modification_hooks_used)
(report_overlay_modification, evaporate_overlays, enlarge_buffer_text):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(validate_region): Omit unnecessary test for b <= e, since
that's guaranteed by the previous test.
(adjust_overlays_for_delete): Avoid pos + length overflow.
(Fmove_overlay, Fdelete_overlay, add_overlay_mod_hooklist)
(report_overlay_modification):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change):
Omit pointer cast, which isn't needed anyway, and doesn't work
after the EMACS_INT -> ptrdiff_t change.
* buffer.h: Adjust decls to match defn changes elsewhere.
(struct buffer_text, struct buffer):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Use EMACS_INT, not int, where int might not be wide enough.
* bytecode.c (exec_byte_code): Use ptrdiff_t, not int, to avoid
needless 32-bit limit on 64-bit hosts.  Remove unnecessary
memory-full test.  Use EMACS_INT, not ptrdiff_t or int, where
ptrdiff_t or int might not be wide enough.
* callint.c (Fcall_interactively):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* callproc.c (call_process_kill, Fcall_process):
Don't assume pid_t fits into an Emacs fixnum.
(call_process_cleanup, Fcall_process, child_setup):
Don't assume pid_t fits into int.
(call_process_cleanup, Fcall_process, delete_temp_file)
(Fcall_process_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fcall_process): Simplify handling of volatile integers.
Use int, not EMACS_INT, where int will do.
* casefiddle.c (casify_object, casify_region, operate_on_word)
(Fupcase_word, Fdowncase_word, Fcapitalize_word):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(casify_object): Avoid integer overflow when overallocating buffer.
* casetab.c (set_identity, shuffle): Prefer int to unsigned when
either works.
* category.c (Fchar_category_set): Don't assume fixnum fits in int.
* category.h (CATEGORYP): Don't assume arg is nonnegative.
* ccl.c (GET_CCL_INT): Remove; no longer needed, since the
integers are now checked earlier.  All uses replaced with XINT.
(ccl_driver):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
For CCL_MapSingle, check that content and value are in int range.
(resolve_symbol_ccl_program): Check that vector header is in range.
Always copy the vector, so that we can check its contents reliably
now rather than having to recheck each instruction as it's being
executed.  Check that vector words fit in 'int'.
(ccl_get_compiled_code, Fregister_ccl_program)
(Fregister_code_conversion_map): Use ptrdiff_t, not int, for
program indexes, to avoid needless 32-bit limit on 64-bit hosts.
(Fccl_execute, Fccl_execute_on_string): Check that initial reg
contents are in range.
(Fccl_execute_on_string): Check that status is in range.
* ccl.h (struct ccl_program.idx): Now ptrdiff_t, not int.
* character.c (char_resolve_modifier_mask, Fchar_resolve_modifiers):
Accept and return EMACS_INT, not int, because callers can pass values
out of 'int' range.
(c_string_width, strwidth, lisp_string_width, chars_in_text)
(multibyte_chars_in_text, parse_str_as_multibyte)
(str_as_multibyte, count_size_as_multibyte, str_to_multibyte)
(str_as_unibyte, str_to_unibyte, string_count_byte8)
(string_escape_byte8, Fget_byte):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Funibyte_string): Use CHECK_CHARACTER, not CHECK_NATNUM, to
avoid mishandling large integers.
* character.h: Adjust decls to match defn changes elsewhere.
* charset.c (load_charset_map_from_file, find_charsets_in_text)
(Ffind_charset_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(load_charset_map_from_file): Redo idx calculation to avoid overflow.
(load_charset_map_from_vector, Fdefine_charset_internal):
Don't assume fixnum fits in int or unsigned int.
(load_charset_map_from_vector, Fmap_charset_chars):
Remove now-unnecessary CHECK_NATNUMs.
(Fdefine_charset_internal): Check ranges here, more carefully.
* chartab.c (Fmake_char_table, Fset_char_table_range)
(uniprop_get_decoder, uniprop_get_encoder):
Don't assume fixnum fits in int.
* cmds.c (move_point): New function, that does the gist of
Fforward_char and Fbackward_char, but does so while checking
for integer overflow more accurately.
(Fforward_char, Fbackward_char, internal_self_insert): Use it.
(Fforward_line, Fend_of_line, internal_self_insert)
(internal_self_insert):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Fix a FIXME, by checking for integer overflow when calculating
target_clm and actual_clm.
* coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR)
(ASSURE_DESTINATION, coding_alloc_by_realloc)
(coding_alloc_by_making_gap, alloc_destination)
(detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16)
(encode_coding_utf_16, detect_coding_emacs_mule)
(decode_coding_emacs_mule, encode_coding_emacs_mule)
(detect_coding_iso_2022, decode_coding_iso_2022)
(encode_invocation_designation, encode_designation_at_bol)
(encode_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
(decode_coding_sjis, decode_coding_big5, encode_coding_sjis)
(encode_coding_big5, detect_coding_ccl, decode_coding_ccl)
(encode_coding_ccl, encode_coding_raw_text)
(detect_coding_charset, decode_coding_charset)
(encode_coding_charset, detect_eol, decode_eol, produce_chars)
(produce_composition, produce_charset, produce_annotation)
(decode_coding, handle_composition_annotation)
(handle_charset_annotation, consume_chars, decode_coding_gap)
(decode_coding_object, encode_coding_object, detect_coding_system)
(Ffind_coding_systems_region_internal, Fcheck_coding_systems_region)
(code_convert_region, code_convert_string)
(Fdefine_coding_system_internal):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(setup_iso_safe_charsets, consume_chars, Funencodable_char_position)
(Fdefine_coding_system_internal):
Don't assume fixnums fit in int.
(decode_coding_gap, decode_coding_object, encode_coding_object)
(Fread_coding_system, Fdetect_coding_region, Funencodable_char_position)
(Fcheck_coding_systems_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Ffind_operation_coding_system): NATNUMP can eval its arg twice.
(Fdefine_coding_system_internal): Check for charset-id overflow.
* coding.h: Adjust decls to match defn changes elsewhere.
(struct coding_system):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* composite.c (get_composition_id, find_composition)
(run_composition_function, update_compositions)
(compose_text, composition_gstring_put_cache)
(composition_gstring_p, composition_gstring_width)
(fill_gstring_header, fill_gstring_body, autocmp_chars)
(composition_compute_stop_pos, composition_reseat_it)
(composition_update_it, struct position_record)
(find_automatic_composition, composition_adjust_point)
(Fcomposition_get_gstring, Ffind_composition_internal):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(update_compositions):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* composite.h: Adjust decls to match defn changes elsewhere.
(struct composition):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
Do not attempt to compute the address of the object just before a
buffer; this is not portable.
(Faref, Faset):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Faset): Use int, not EMACS_INT, where int is wide enough.
(Fstring_to_number): Don't assume fixnums fit in int.
(Frem): Don't assume arg is nonnegative.
* dbusbind.c (xd_append_arg): Check for integers out of range.
(Fdbus_call_method): Don't overflow the timeout int.
* dired.c (directory_files_internal, file_name_completion, scmp)
(file_name_completion_stat):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(file_name_completion): Don't overflow matchcount.
(file_name_completion_stat): Use SAFE_ALLOCA, not alloca.
* dispextern.h: Adjust decls to match defn changes elsewhere.
(struct text_pos, struct glyph, struct bidi_saved_info)
(struct bidi_string_data, struct bidi_it, struct composition_it)
(struct it):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(struct display_pos, struct composition_it, struct it):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* dispnew.c (increment_matrix_positions)
(increment_row_positions, mode_line_string)
(marginal_area_string):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(change_frame_size_1, Fredisplay):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(duration_to_sec_usec): New function, to check for overflow better.
(Fsleep_for, sit_for): Use it.
* doc.c (get_doc_string, store_function_docstring):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(get_doc_string, Fsnarf_documentation):
Use int, not EMACS_INT, where int is wide enough.
(get_doc_string):
Use SAFE_ALLOCA, not alloca.
Check for overflow when converting EMACS_INT to off_t.
* doprnt.c (doprnt):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* editfns.c (init_editfns, Fuser_uid, Fuser_real_uid):
Don't assume uid_t fits into fixnum.
(buildmark, Fgoto_char, overlays_around, find_field, Fdelete_field)
(Ffield_string, Ffield_string_no_properties, Ffield_beginning)
(Ffield_end, Fconstrain_to_field, Fline_beginning_position)
(Fline_end_position, Fprevious_char, Fchar_after, Fchar_before)
(general_insert_function)
(Finsert_char, make_buffer_string, make_buffer_string_both)
(update_buffer_properties, Fbuffer_substring)
(Fbuffer_substring_no_properties, Fcompare_buffer_substrings)
(Fsubst_char_in_region, check_translation)
(Ftranslate_region_internal, save_restriction_restore, Fformat)
(transpose_markers, Ftranspose_regions):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(clip_to_bounds): Move to lisp.h as an inline function).
(Fconstrain_to_field): Don't assume integers are nonnegative.
(Fline_beginning_position, Fsave_excursion, Fsave_current_buffer):
(Fsubst_char_in_region, Fsave_restriction):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Femacs_pid): Don't assume pid_t fits into fixnum.
(lo_time): Use int, not EMACS_INT, when int suffices.
(lisp_time_argument): Check for usec out of range.
(Fencode_time): Don't assume fixnum fits in int.
* emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT.
(gdb_data_seg_bits): Now uintptr_t, not EMACS_INT.
(PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT.
(init_cmdargs, Fdump_emacs):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fkill_emacs): Don't assume fixnum fits in int; instead, take just
the bottom (typically) 32 bits of the fixnum.
* eval.c (specpdl_size, call_debugger):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(when_entered_debugger, Fbacktrace_debug):
Don't assume fixnum can fit in int.
(Fdefvaralias, Fdefvar): Do not attempt to compute the address of
the object just before a buffer; this is not portable.
(FletX, Flet, Funwind_protect, do_autoload, Feval, funcall_lambda)
(grow_specpdl, unbind_to):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fapply, apply_lambda): Don't assume ptrdiff_t can hold fixnum.
(grow_specpdl): Simplify allocation by using xpalloc.
* fileio.c (Ffind_file_name_handler, Fcopy_file, Frename_file)
(Finsert_file_contents, Fwrite_region, Fdo_auto_save):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Ffind_file_name_handler, non_regular_inserted, Finsert_file_contents)
(a_write, e_write):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fcopy_file, non_regular_nbytes, read_non_regular)
(Finsert_file_contents):
Use int, not EMACS_INT, where int is wide enough.
(READ_BUF_SIZE): Verify that it fits in int.
(Finsert_file_contents): Check that counts are in proper range,
rather than assuming fixnums fit into ptrdiff_t etc.
Don't assume fixnums fit into int.
(Fdo_auto_save, Fset_buffer_auto_saved)
(Fclear_buffer_auto_save_failure):
Don't assume time_t is signed, or that it fits in int.
* fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec)
(concat, string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
(string_char_to_byte, string_byte_to_char)
(string_make_multibyte, string_to_multibyte)
(string_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte)
(Fstring_to_unibyte, Fsubstring, Fsubstring_no_properties)
(substring_both, Fdelete, internal_equal, Ffillarray)
(Fclear_string, mapcar1)
(Fbase64_encode_region, Fbase64_encode_string, base64_encode_1)
(Fbase64_decode_region, Fbase64_decode_string, base64_decode_1)
(larger_vector, make_hash_table, maybe_resize_hash_table)
(hash_lookup, hash_remove_from_table, hash_clear, sweep_weak_table)
(Fmaphash, secure_hash):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(concat): Check for string index and length overflow.
(Fmapconcat): Don't assume fixnums fit into ptrdiff_t.
(Frequire):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(larger_vector): New API (vec, incr_min, size_max) replaces old
one (vec, new_size, init).  This catches size overflow.
INIT was removed because it was always Qnil.
All callers changed.
(INDEX_SIZE_BOUND): New macro, which calculates more precisely
the upper bound on a hash table index size.
(make_hash_table, maybe_resize_hash_table): Use it.
(secure_hash): Computer start_byte and end_byte only after
they're known to be in ptrdiff_t range.
* font.c (font_intern_prop, font_at, font_range, Ffont_shape_gstring)
(Ffont_get_glyphs, Ffont_at):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(font_style_to_value, font_prop_validate_style, font_expand_wildcards)
(Flist_fonts, Fopen_font):
Don't assume fixnum can fit in int.
(check_gstring): Don't assume index can fit in int.
(font_match_p): Check that fixnum is a character, not a nonnegative
fixnum, since the later code needs to stuff it into an int.
(font_find_for_lface): Use SAFE_ALLOCA_LISP, not alloca.
(font_fill_lglyph_metrics): Use unsigned, not EMACS_INT, to avoid
conversion overflow issues.
(Fopen_font): Check for integer out of  range.
(Ffont_get_glyphs): Don't assume index can fit in int.
* font.h: Adjust decls to match defn changes elsewhere.
* fontset.c (reorder_font_vector): Redo score calculation to avoid
integer overflow.
(num_auto_fontsets, fontset_from_font): Use ptrdiff_t, not
printmax_t, where ptrdiff_t is wide enough.
(Finternal_char_font):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* frame.c (Fset_mouse_position, Fset_mouse_pixel_position)
(Fset_frame_height, Fset_frame_width, Fset_frame_size)
(Fset_frame_position, x_set_frame_parameters)
(x_set_line_spacing, x_set_border_width)
(x_set_internal_border_width, x_set_alpha, x_figure_window_size):
Check that fixnums are in proper range for system types.
(frame_name_fnn_p, Fframe_parameter, Fmodify_frame_parameters):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fmodify_frame_parameters): Don't assume fixnum fits in int.
Use SAFE_ALLOCA_LISP, not alloca.
* frame.h (struct frame): Use intptr_t, not EMACS_INT, where
intptr_t is wide enough.
* fringe.c (lookup_fringe_bitmap, get_logical_fringe_bitmap)
(Fdefine_fringe_bitmap): Don't assume fixnum fits in int.
(Ffringe_bitmaps_at_pos): Don't assume index fits in int.
Check for fixnum out of range.
* ftfont.c (ftfont_list): Don't assume index fits in int.
Check that fixnums are in proper range for system types.
(ftfont_shape_by_flt):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Remove no-longer-needed lint_assume.
* gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fgnutls_error_fatalp, Fgnutls_error_string, Fgnutls_boot):
Check that fixnums are in proper range for system types.
* gnutls.h: Adjust decls to match defn changes elsewhere.
* gtkutil.c (xg_dialog_run):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(update_frame_tool_bar):
Check that fixnums are in proper range for system types.
* image.c (parse_image_spec): Redo count calculation to avoid overflow.
(lookup_image): Check that fixnums are in proper range for system types.
* indent.c (last_known_column, last_known_column_point):
(current_column_bol_cache):
(skip_invisible, current_column, check_display_width):
(check_display_width, scan_for_column, current_column_1)
(Findent_to, Fcurrent_indentation, position_indentation)
(indented_beyond_p, Fmove_to_column, compute_motion):
(Fcompute_motion, Fvertical_motion):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(last_known_column_modified): Use EMACS_INT, not int.
(check_display_width):
(Fcompute_motion):
Check that fixnums and floats are in proper range for system types.
(compute_motion): Don't assume index or fixnum fits in int.
(compute_motion, Fcompute_motion):
Use int, not EMACS_INT, when it is wide enough.
(vmotion): Omit local var start_hpos that is always 0; that way
we don't need to worry about overflow in expressions involving it.
* indent.h: Adjust decls to match defn changes elsewhere.
(struct position):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
Use int, not EMACS_INT, where int is wide enough.
Remove unused members ovstring_chars_done and tab_offset;
all uses removed.
* insdel.c (move_gap, move_gap_both, gap_left, gap_right)
(adjust_markers_for_delete, adjust_markers_for_insert, adjust_point)
(adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
(make_gap, copy_text, insert, insert_and_inherit)
(insert_before_markers, insert_before_markers_and_inherit)
(insert_1, count_combining_before, count_combining_after)
(insert_1_both, insert_from_string)
(insert_from_string_before_markers, insert_from_string_1)
(insert_from_gap, insert_from_buffer, insert_from_buffer_1)
(adjust_after_replace, adjust_after_insert, replace_range)
(replace_range_2, del_range, del_range_1, del_range_byte)
(del_range_both, del_range_2, modify_region)
(prepare_to_modify_buffer, signal_before_change)
(signal_after_change, Fcombine_after_change_execute):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* intervals.c (traverse_intervals, rotate_right, rotate_left)
(balance_an_interval, split_interval_right, split_interval_left)
(find_interval, next_interval, update_interval)
(adjust_intervals_for_insertion, delete_node, delete_interval)
(interval_deletion_adjustment, adjust_intervals_for_deletion)
(static_offset_intervals, offset_intervals)
(merge_interval_right, merge_interval_left, make_new_interval)
(graft_intervals_into_buffer, temp_set_point_both)
(temp_set_point, set_point, adjust_for_invis_intang)
(set_point_both, move_if_not_intangible, get_property_and_range)
(get_local_map, copy_intervals, copy_intervals_to_string)
(compare_string_intervals, set_intervals_multibyte_1):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* intervals.h: Adjust decls to match defn changes elsewhere.
(struct interval):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* keyboard.c (this_command_key_count, this_single_command_key_start)
(before_command_key_count, before_command_echo_length, echo_now)
(echo_length, recursive_edit_1, Frecursive_edit, Ftrack_mouse)
(command_loop_1, safe_run_hooks, read_char, timer_check_2)
(menu_item_eval_property, read_key_sequence, Fread_key_sequence)
(Fread_key_sequence_vector, Fexecute_extended_command, Fsuspend_emacs):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(last_non_minibuf_size, last_point_position, echo_truncate)
(command_loop_1, adjust_point_for_property, read_char, gen_help_event)
(make_lispy_position, make_lispy_event, parse_modifiers_uncached)
(parse_modifiers, modify_event_symbol, Fexecute_extended_command)
(stuff_buffered_input):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(last_auto_save, command_loop_1, read_char):
Use EMACS_INT, not int, to avoid integer overflow.
(record_char): Avoid overflow in total_keys computation.
(parse_modifiers_uncached): Redo index calculation to avoid overflow.
* keyboard.h: Adjust decls to match defn changes elsewhere.
* keymap.c (Fdefine_key, Fcurrent_active_maps, accessible_keymaps_1)
(Fkey_description, Fdescribe_vector, Flookup_key):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(click_position): New function, to check that positions are in range.
(Fcurrent_active_maps):
(describe_command):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Faccessible_keymaps, Fkey_description):
(preferred_sequence_p):
Don't assume fixnum can fit into int.
(Fkey_description): Use SAFE_ALLOCA_LISP, not alloca.
Check for integer overflow in size calculations.
(Ftext_char_description): Use CHECK_CHARACTER, not CHECK_NUMBER, to
avoid mishandling large integers.
* lisp.h: Adjust decls to match defn changes elsewhere.
(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, struct Lisp_String)
(struct vectorlike_header, struct Lisp_Subr, struct Lisp_Hash_Table)
(struct Lisp_Marker):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(clip_to_bounds): Now an inline function, moved here from editfns.c.
(XSETSUBR): Use size of 0 since the actual size doesn't matter,
and using 0 avoids overflow.
(GLYPH_CODE_P): Check for overflow in system types, subsuming the
need for GLYPH_CODE_CHAR_VALID_P and doing proper checking ourselves.
All callers changed.
(GLYPH_CODE_CHAR, GLYPH_CODE_FACE):
Assume the arg has valid form, since it always does.
(TYPE_RANGED_INTEGERP): Avoid bug when checking against a wide
unsigned integer system type.
(CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER): New macros.
(struct catchtag, specpdl_size, SPECPDL_INDEX, USE_SAFE_ALLOCA):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(struct catchtag): Use EMACS_INT, not int, since it may be a fixnum.
(duration_to_sec_usec): New decl.
* lread.c (read_from_string_index, read_from_string_index_byte)
(read_from_string_limit, readchar, unreadchar, openp)
(read_internal_start, read1, oblookup):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fload, readevalloop, Feval_buffer, Feval_region):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(openp): Check for out-of-range argument to 'access'.
(read1): Use int, not EMACS_INT, where int is wide enough.
Don't assume fixnum fits into int.
* macros.c (Fstart_kbd_macro): Use xpalloc to check for overflow
in size calculation.
(Fexecute_kbd_macro):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* marker.c (cached_charpos, cached_bytepos, CONSIDER)
(byte_char_debug_check, buf_charpos_to_bytepos, verify_bytepos)
(buf_bytepos_to_charpos, Fset_marker, set_marker_restricted)
(set_marker_both, set_marker_restricted_both, marker_position)
(marker_byte_position, Fbuffer_has_markers_at):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fset_marker, set_marker_restricted): Don't assume fixnum fits in int.
* menu.c (ensure_menu_items): Renamed from grow_menu_items.
It now merely ensures that the menu is large enough, without
necessarily growing it, as this avoids some integer overflow issues.
All callers changed.
(keymap_panes, parse_single_submenu, Fx_popup_menu):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(parse_single_submenu, Fx_popup_menu): Don't assume fixnum fits in int.
Use SAFE_ALLOCA_LISP, not alloca.
(find_and_return_menu_selection): Avoid unnecessary casts of pointers
to EMACS_INT.  Check that fixnums are in proper range for system types.
* minibuf.c (minibuf_prompt_width, string_to_object)
(Fminibuffer_contents, Fminibuffer_contents_no_properties)
(Fminibuffer_completion_contents, Ftry_completion, Fall_completions):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(get_minibuffer, read_minibuf_unwind):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(read_minibuf): Omit unnecessary arg BACKUP_N, which is always nil;
this simplifies overflow checking.  All callers changed.
(read_minibuf, Fread_buffer, Ftry_completion, Fall_completions)
(Ftest_completion):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* nsfns.m (check_ns_display_info): Don't assume fixnum fits in long.
(x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_create_frame):
Check that fixnums are in proper range for system types.
(Fx_create_frame, Fx_show_tip):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* nsfont.m (ns_findfonts, nsfont_list_family):
Don't assume fixnum fits in long.
* nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(ns_update_menubar): Use intptr_t, not EMACS_INT, when intptr_t is
wide enough.
* nsselect.m (ns_get_local_selection):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* print.c (print_buffer_size, print_buffer_pos, print_buffer_pos_byte)
(PRINTDECLARE, PRINTPREPARE):
(strout, print_string):
(print, print_preprocess, print_check_string_charset_prop)
(print_object):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(PRINTDECLARE):
(temp_output_buffer_setup, Fprin1_to_string, print_object):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough.
(PRINTFINISH): Use SAFE_ALLOCA, not alloca.
(printchar, strout): Use xpalloc to catch size calculation overflow.
(Fexternal_debugging_output): Use CHECK_CHARACTER, not CHECK_NUMBER,
to avoid mishandling large integers.
(print_error_message): Use SAFE_ALLOCA, not alloca.
(print_object): Use int, not EMACS_INT, where int is wide enough.
* process.c (Fdelete_process): Don't assume pid fits into EMACS_INT.
(Fset_process_window_size, Fformat_network_address)
(get_lisp_to_sockaddr_size, set_socket_option, Fmake_network_process)
(Fsignal_process, sigchld_handler):
Check that fixnums are in proper range for system types.
(Fformat_network_address, read_process_output, send_process)
(Fprocess_send_region, status_notify):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fformat_network_address, Fmake_serial_process, Fmake_network_process)
(wait_reading_process_output, read_process_output, exec_sentinel):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(conv_lisp_to_sockaddr): Don't assume fixnums fit into int.
(Faccept_process_output): Use duration_to_sec_usec to do proper
overflow checking on durations.
* scroll.c (calculate_scrolling, calculate_direct_scrolling)
(line_ins_del): Use int, not EMACS_INT, where int is wide enough.
* search.c (looking_at_1, string_match_1):
(fast_string_match, fast_c_string_match_ignore_case)
(fast_string_match_ignore_case, fast_looking_at, scan_buffer)
(scan_newline, find_before_next_newline, search_command)
(trivial_regexp_p, search_buffer, simple_search, boyer_moore)
(set_search_regs, wordify):
(Freplace_match):
(Fmatch_data):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(string_match_1, search_buffer, set_search_regs):
(Fmatch_data):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(wordify): Check for overflow in size calculation.
(Freplace_match): Avoid potential buffer overflow in search_regs.start.
(Fset_match_data): Don't assume fixnum fits in ptrdiff_t.
Check that fixnums are in proper range for system types.
* sound.c (struct sound_device)
(wav_play, au_play, vox_write, alsa_period_size, alsa_write):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fplay_sound_internal):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* syntax.c (ST_COMMENT_STYLE, ST_STRING_STYLE):
In definitions, make it clearer that these values must be out of range
for the respective integer ranges.  This fixes a bug with ST_STRING_STYLE
and non-ASCII characters.
(struct lisp_parse_state, find_start_modiff)
(Finternal_describe_syntax_value, scan_lists, scan_sexps_forward):
(Fparse_partial_sexp):
Don't assume fixnums can fit in int.
(struct lisp_parse_state, find_start_pos, find_start_value)
(find_start_value_byte, find_start_begv)
(update_syntax_table, char_quoted, dec_bytepos)
(find_defun_start, prev_char_comend_first, back_comment):
(scan_words, skip_chars, skip_syntaxes, forw_comment, Fforward_comment)
(scan_lists, Fbackward_prefix_chars, scan_sexps_forward):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Finternal_describe_syntax_value): Check that match_lisp is a
character, not an integer, since the code stuffs it into int.
(scan_words, scan_sexps_forward):
Check that fixnums are in proper range for system types.
(Fforward_word):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(scan_sexps_forward):
Use CHARACTERP, not INTEGERP, since the value must fit into int.
(Fparse_partial_sexp): Fix doc; element 8 is not ignored.
* syntax.h: Adjust decls to match defn changes elsewhere.
(struct gl_state_s):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* sysdep.c (wait_for_termination_1, wait_for_termination)
(interruptible_wait_for_termination, mkdir):
Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit.
(emacs_read, emacs_write):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(system_process_attributes): Don't assume uid_t, gid_t, and
double all fit in int or even EMACS_INT.
* term.c (set_tty_color_mode):
Check that fixnums are in proper range for system types.
* termhooks.h (struct input_event):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* textprop.c (validate_interval_range, interval_of)
(Fadd_text_properties, set_text_properties_1)
(Fremove_text_properties, Fremove_list_of_text_properties)
(Ftext_property_any, Ftext_property_not_all)
(copy_text_properties, text_property_list, extend_property_ranges)
(verify_interval_modification):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fnext_single_char_property_change)
(Fprevious_single_char_property_change):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(copy_text_properties): Check for integer overflow in index calculation.
* undo.c (last_boundary_position, record_point, record_insert)
(record_delete, record_marker_adjustment, record_change)
(record_property_change):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(truncate_undo_list, Fprimitive_undo): Don't assume fixnum fits in int.
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* w32fns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip)
(Fx_hide_tip, Fx_file_dialog):
* w32menu.c (set_frame_menubar):
Use ptrdiff_t, not int, for consistency with rest of code.
* window.c (window_scroll_preserve_hpos, window_scroll_preserve_vpos)
(select_window, Fdelete_other_windows_internal)
(window_scroll_pixel_based, window_scroll_line_based)
(Frecenter, Fset_window_configuration):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(Fset_window_hscroll, run_window_configuration_change_hook)
(set_window_buffer, temp_output_buffer_show, scroll_command)
(Fscroll_other_window):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fwindow_line_height, window_scroll, Fscroll_left, Fscroll_right):
Don't assume fixnum fits in int.
(Fset_window_scroll_bars):
Check that fixnums are in proper range for system types.
* xdisp.c (help_echo_pos, pos_visible_p, string_pos_nchars_ahead)
(string_pos, c_string_pos, number_of_chars, init_iterator)
(in_ellipses_for_invisible_text_p, init_from_display_pos)
(compute_stop_pos, next_overlay_change, compute_display_string_pos)
(compute_display_string_end, handle_face_prop)
(face_before_or_after_it_pos, handle_invisible_prop, handle_display_prop)
(handle_display_spec, handle_single_display_spec)
(display_prop_intangible_p, string_buffer_position_lim)
(string_buffer_position, handle_composition_prop, load_overlay_strings)
(get_overlay_strings_1, get_overlay_strings)
(iterate_out_of_display_property, forward_to_next_line_start)
(back_to_previous_visible_line_start, reseat, reseat_to_string)
(get_next_display_element, set_iterator_to_next)
(get_visually_first_element, compute_stop_pos_backwards)
(handle_stop_backwards, next_element_from_buffer)
(move_it_in_display_line_to, move_it_in_display_line)
(move_it_to, move_it_vertically_backward, move_it_by_lines)
(add_to_log, message_dolog, message_log_check_duplicate)
(message2, message2_nolog, message3, message3_nolog
(with_echo_area_buffer, display_echo_area_1, resize_mini_window_1)
(current_message_1, truncate_echo_area, truncate_message_1)
(set_message, set_message_1, store_mode_line_noprop)
(hscroll_window_tree, debug_delta, debug_delta_bytes, debug_end_vpos)
(text_outside_line_unchanged_p, check_point_in_composition)
(reconsider_clip_changes)
(redisplay_internal, set_cursor_from_row, try_scrolling)
(try_cursor_movement, set_vertical_scroll_bar, redisplay_window)
(redisplay_window, find_last_unchanged_at_beg_row)
(find_first_unchanged_at_end_row, row_containing_pos, try_window_id)
(trailing_whitespace_p, find_row_edges, display_line)
(RECORD_MAX_MIN_POS, Fcurrent_bidi_paragraph_direction)
(display_mode_element, store_mode_line_string)
(pint2str, pint2hrstr, decode_mode_spec)
(display_count_lines, display_string, draw_glyphs)
(x_produce_glyphs, x_insert_glyphs)
(rows_from_pos_range, mouse_face_from_buffer_pos)
(fast_find_string_pos, mouse_face_from_string_pos)
(note_mode_line_or_margin_highlight, note_mouse_highlight):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(safe_call, init_from_display_pos, handle_fontified_prop)
(handle_single_display_spec, load_overlay_strings)
(with_echo_area_buffer, setup_echo_area_for_printing)
(display_echo_area, echo_area_display)
(x_consider_frame_title, prepare_menu_bars, update_menu_bar)
(update_tool_bar, hscroll_window_tree, redisplay_internal)
(redisplay_window, dump_glyph_row, display_mode_line, Fformat_mode_line)
(decode_mode_spec, on_hot_spot_p):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(handle_single_display_spec, build_desired_tool_bar_string)
(redisplay_tool_bar, scroll_window_tree, Fdump_glyph_matrix)
(get_specified_cursor_type):
Check that fixnums are in proper range for system types.
(struct overlay_entry, resize_mini_window, Fdump_glyph_row)
(Flookup_image_map):
Don't assume fixnums fit in int.
(compare_overlay_entries):
Avoid mishandling comparisons due to subtraction overflow.
(load_overlay_strings): Use SAFE_NALLOCA, not alloca.
(last_escape_glyph_face_id, last_glyphless_glyph_face_id):
(handle_tool_bar_click):
Use int, not unsigned, since we prefer signed and the signedness
doesn't matter here.
(get_next_display_element, next_element_from_display_vector):
Use int, not EMACS_INT, when int is wide enough.
(start_hourglass): Use duration_to_sec_usec to do proper
overflow checking on durations.
* xfaces.c (Fbitmap_spec_p):
Check that fixnums are in proper range for system types.
(compare_fonts_by_sort_order):
Avoid mishandling comparisons due to subtraction overflow.
(Fx_family_fonts, realize_basic_faces):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fx_family_fonts):
Don't assume fixnum fits in int.
Use SAFE_ALLOCA_LISP, not alloca.
(merge_face_heights): Remove unnecessary cast to EMACS_INT.
(Finternal_make_lisp_face): Don't allocate more than MAX_FACE_ID.
(face_at_buffer_position, face_for_overlay_string)
(face_at_string_position):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
(merge_faces): Use int, not EMACS_INT, where int is wide enough.
* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, x_icon_verify)
(Fx_show_tip):
Check that fixnums are in proper range for system types.
(Fx_create_frame, x_create_tip_frame, Fx_show_tip)
(Fx_hide_tip, Fx_file_dialog, Fx_select_font):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(Fx_change_window_property): Don't assume fixnums fit in int.
* xfont.c (xfont_chars_supported):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* xmenu.c (Fx_popup_dialog, set_frame_menubar)
(create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* xml.c (parse_region):
* xrdb.c (magic_file_p):
Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
* xselect.c (TRACE1): Don't assume pid_t promotes to int.
(x_get_local_selection, x_reply_selection_request)
(x_handle_selection_request, wait_for_property_change):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
(selection_data_to_lisp_data): Use short, not EMACS_INT, where
short is wide enough.
(x_send_client_event): Don't assume fixnum fits in int.
* xterm.c (x_x_to_emacs_modifiers):
Don't assume EMACS_INT overflows nicely into int.
(x_emacs_to_x_modifiers): Use EMACS_INT, not int, because values
may come from Lisp.
(handle_one_xevent): NATNUMP can eval its arg twice.
(x_connection_closed):
Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
* xterm.h: Adjust decls to match defn changes elsewhere.
(struct scroll_bar): Use struct vectorlike_header
rather than rolling our own approximation.
(SCROLL_BAR_VEC_SIZE): Remove; not used.

12 years agoecomplete.el (ecomplete-display-matches): Intercept key sequence from terminal as...
Kan-Ru Chen [Wed, 21 Sep 2011 12:23:49 +0000 (12:23 +0000)]
ecomplete.el (ecomplete-display-matches): Intercept key sequence from terminal as well.

12 years ago* net/tramp.el (tramp-handle-shell-command): Set process sentinel
Michael Albinus [Wed, 21 Sep 2011 10:42:55 +0000 (12:42 +0200)]
* net/tramp.el (tramp-handle-shell-command): Set process sentinel
and process filter, as done also in `shell-command'.

12 years agoRewrite code quitting windows and restoring the previous buffer.
Martin Rudalics [Wed, 21 Sep 2011 08:20:21 +0000 (10:20 +0200)]
Rewrite code quitting windows and restoring the previous buffer.

* window.el (set-window-buffer-start-and-point): Call
set-window-start with NOFORCE argument t.  Suggested by Thierry
Volpiatto <thierry.volpiatto@gmail.com>.
(quit-window): Reword doc-string.  Handle new format of
quit-restore parameter.  Don't delete window if it has a
previous buffer we can show instead of the present one.
(display-buffer-record-window): Rewrite using a new format for
the quit-restore window parameter
(special-display-popup-frame, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-use-some-window):
Adapt symbol passed to display-buffer-record-window.
* help.el (help-window-setup): Handle new format of quit-restore
parameter.

12 years agoFix assertion failure when displaying stretch glyphs under linum-mode.
Eli Zaretskii [Wed, 21 Sep 2011 08:13:18 +0000 (04:13 -0400)]
Fix assertion failure when displaying stretch glyphs under linum-mode.

 src/xdisp.c (pop_it): Allow it->object that is a cons cell to pass
 the xassert test.
 src/dispextern.h (struct it): Update the comment documenting what
 can it->OBJECT be.

12 years ago* mh-e.texi: (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for
Bill Wohler [Wed, 21 Sep 2011 05:22:17 +0000 (22:22 -0700)]
* mh-e.texi: (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for
release 8.3.
(Preface): Updated support information.
(From Bill Wohler): Reset text to original version. As a historical
quote, the tense should be correct in the time that it was written.

12 years agomm-view.el (mm-display-inline-fontify): Don't run doc-view-mode because it displays...
Katsumi Yamaoka [Wed, 21 Sep 2011 02:13:03 +0000 (02:13 +0000)]
mm-view.el (mm-display-inline-fontify): Don't run doc-view-mode because it displays images using overlays that aren't easy to copy to the article buffer.

12 years ago* doc/lispref/display.texi (Face Functions): `face-list' returns faces.
Stefan Monnier [Wed, 21 Sep 2011 01:33:33 +0000 (21:33 -0400)]
* doc/lispref/display.texi (Face Functions): `face-list' returns faces.

Fixes: debbugs:9564

12 years ago* lisp/faces.el (face-list): Fix docstring.
Stefan Monnier [Wed, 21 Sep 2011 01:31:53 +0000 (21:31 -0400)]
* lisp/faces.el (face-list): Fix docstring.

Fixes: debbugs:9564

12 years ago* lisp/window.el (display-buffer--action-function-custom-type):
Stefan Monnier [Wed, 21 Sep 2011 01:30:35 +0000 (21:30 -0400)]
* lisp/window.el (display-buffer--action-function-custom-type):
Don't include internal functions in the Custom interface.

12 years agoMerge changes made in Gnus trunk.
Gnus developers [Tue, 20 Sep 2011 22:14:36 +0000 (22:14 +0000)]
Merge changes made in Gnus trunk.

message.el (message-indent-citation): Fix empty line removal at the end of the citation.
auth-source.el (auth-source-netrc-create): Use default value for password if specified. Evaluate default.
 (auth-source-plstore-create): Ditto.
 (auth-source-plstore-create, auth-source-netrc-create): Fix default value evaluation.
 (auth-source-netrc-create): Typo fix.
 (auth-source-plstore-create): Ditto.

12 years ago* lisp/info.el (Info-history-skip-intermediate-nodes): New defcustom.
Juri Linkov [Tue, 20 Sep 2011 20:16:42 +0000 (23:16 +0300)]
* lisp/info.el (Info-history-skip-intermediate-nodes): New defcustom.
(Info-forward-node, Info-backward-node, Info-next-preorder)
(Info-last-preorder): Use it.

Fixes: debbugs:9528

12 years agoFix bidi-aware cursor motion inside indentation.
Eli Zaretskii [Tue, 20 Sep 2011 17:42:16 +0000 (20:42 +0300)]
Fix bidi-aware cursor motion inside indentation.

 src/xdisp.c (Fcurrent_bidi_paragraph_direction): Fix search for previous
 non-empty line.  Fixes confusing cursor motion with arrow keys at
 the beginning of a line that starts with whitespace.

12 years agoFix bug #9549 with longlines-show-hard-newlines.
Eli Zaretskii [Tue, 20 Sep 2011 17:13:45 +0000 (20:13 +0300)]
Fix bug #9549 with longlines-show-hard-newlines.

 src/xdisp.c (set_cursor_from_row): If the row ends in a newline from
 a display string, extend search for cursor position to end of row.
 (find_row_edges): If the row ends in a newline from a display
 string, increment its MATRIX_ROW_END_CHARPOS by one.
 Handle the case of a display string with multiple newlines.

12 years ago* lisp/info.el (Info-last-preorder): Visit last menu item only when
Juri Linkov [Tue, 20 Sep 2011 16:28:07 +0000 (19:28 +0300)]
* lisp/info.el (Info-last-preorder): Visit last menu item only when
`Info-scroll-prefer-subnodes' is non-nil (third test-case of bug#9528).

12 years agopassword-cache.el (password-cache-remove): Remove entries even if the value is nil...
Julien Danjou [Tue, 20 Sep 2011 14:08:04 +0000 (14:08 +0000)]
password-cache.el (password-cache-remove): Remove entries even if the value is nil, so that password with a nil value (negative caching) is possible to invalidate.
auth-source.el (auth-source-format-cache-entry): New function.

12 years agoAuto-commit of loaddefs files.
Glenn Morris [Tue, 20 Sep 2011 10:18:55 +0000 (06:18 -0400)]
Auto-commit of loaddefs files.