diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 43 | ||||
| -rw-r--r-- | src/abbrev.c | 4 | ||||
| -rw-r--r-- | src/callint.c | 3 | ||||
| -rw-r--r-- | src/data.c | 4 | ||||
| -rw-r--r-- | src/editfns.c | 5 | ||||
| -rw-r--r-- | src/eval.c | 11 | ||||
| -rw-r--r-- | src/indent.c | 79 | ||||
| -rw-r--r-- | src/keyboard.c | 4 | ||||
| -rw-r--r-- | src/keymap.c | 5 | ||||
| -rw-r--r-- | src/process.c | 12 | ||||
| -rw-r--r-- | src/window.c | 2 |
11 files changed, 132 insertions, 40 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d06be958790..0194c4b8c6f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,46 @@ | |||
| 1 | 2004-08-03 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * indent.c (compute_motion): Fix check for full width window | ||
| 4 | in non-window case. Do not count left truncation glyph on | ||
| 5 | window systems. | ||
| 6 | |||
| 7 | 2004-08-02 Luc Teirlinck <teirllm@auburn.edu> | ||
| 8 | |||
| 9 | * data.c (Finteractive_form): Doc fix. | ||
| 10 | |||
| 11 | 2004-08-02 Kim F. Storm <storm@cua.dk> | ||
| 12 | |||
| 13 | * indent.c (compute_motion): Use actual window width if WIDTH is -1, | ||
| 14 | properly accounting for continuation glyph on non-window systems. | ||
| 15 | (Fcompute_motion): Use actual window width if WIDTH is nil, and | ||
| 16 | actual window width/height if TOPOS is nil, properly accounting for | ||
| 17 | continuation glyphs on non-window systems, and optional header lines. | ||
| 18 | (vmotion): Let compute_motion calculate actual window width. | ||
| 19 | |||
| 20 | * window.c (window_scroll_line_based): Let compute_motion | ||
| 21 | calculate actual window width. | ||
| 22 | |||
| 23 | 2004-08-02 Kim F. Storm <storm@cua.dk> | ||
| 24 | |||
| 25 | * process.c (read_process_output): Use whole read buffer. | ||
| 26 | Don't trigger adaptive read buffering on errors. | ||
| 27 | |||
| 28 | 2004-07-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 29 | |||
| 30 | * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes. | ||
| 31 | |||
| 32 | * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix. | ||
| 33 | |||
| 34 | * callint.c (Fcall_interactively): Doc fix. | ||
| 35 | |||
| 36 | 2004-07-30 Kim F. Storm <storm@cua.dk> | ||
| 37 | |||
| 38 | * editfns.c (Fformat): Allocate extra (dummy) element in info. | ||
| 39 | |||
| 40 | 2004-07-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 41 | |||
| 42 | * eval.c (Fdefvar, Fdefconst): Doc fixes. | ||
| 43 | |||
| 1 | 2004-07-27 Kim F. Storm <storm@cua.dk> | 44 | 2004-07-27 Kim F. Storm <storm@cua.dk> |
| 2 | 45 | ||
| 3 | * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after | 46 | * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after |
diff --git a/src/abbrev.c b/src/abbrev.c index 7e68011955d..086a58021fb 100644 --- a/src/abbrev.c +++ b/src/abbrev.c | |||
| @@ -248,6 +248,8 @@ Returns the abbrev symbol, if expansion took place. */) | |||
| 248 | 248 | ||
| 249 | value = Qnil; | 249 | value = Qnil; |
| 250 | 250 | ||
| 251 | Frun_hooks (1, &Qpre_abbrev_expand_hook); | ||
| 252 | |||
| 251 | wordstart = 0; | 253 | wordstart = 0; |
| 252 | if (!(BUFFERP (Vabbrev_start_location_buffer) | 254 | if (!(BUFFERP (Vabbrev_start_location_buffer) |
| 253 | && XBUFFER (Vabbrev_start_location_buffer) == current_buffer)) | 255 | && XBUFFER (Vabbrev_start_location_buffer) == current_buffer)) |
| @@ -324,8 +326,6 @@ Returns the abbrev symbol, if expansion took place. */) | |||
| 324 | if (INTEGERP (sym) || NILP (SYMBOL_VALUE (sym))) | 326 | if (INTEGERP (sym) || NILP (SYMBOL_VALUE (sym))) |
| 325 | return value; | 327 | return value; |
| 326 | 328 | ||
| 327 | Frun_hooks (1, &Qpre_abbrev_expand_hook); | ||
| 328 | |||
| 329 | if (INTERACTIVE && !EQ (minibuf_window, selected_window)) | 329 | if (INTERACTIVE && !EQ (minibuf_window, selected_window)) |
| 330 | { | 330 | { |
| 331 | /* Add an undo boundary, in case we are doing this for | 331 | /* Add an undo boundary, in case we are doing this for |
diff --git a/src/callint.c b/src/callint.c index a3e4984fd16..8b8cb032095 100644 --- a/src/callint.c +++ b/src/callint.c | |||
| @@ -256,7 +256,8 @@ Optional second arg RECORD-FLAG non-nil | |||
| 256 | means unconditionally put this command in the command-history. | 256 | means unconditionally put this command in the command-history. |
| 257 | Otherwise, this is done only if an arg is read using the minibuffer. | 257 | Otherwise, this is done only if an arg is read using the minibuffer. |
| 258 | Optional third arg KEYS, if given, specifies the sequence of events to | 258 | Optional third arg KEYS, if given, specifies the sequence of events to |
| 259 | supply if the command inquires which events were used to invoke it. */) | 259 | supply if the command inquires which events were used to invoke it. |
| 260 | If KEYS is omitted or nil, the return value of `this-command-keys' is used. */) | ||
| 260 | (function, record_flag, keys) | 261 | (function, record_flag, keys) |
| 261 | Lisp_Object function, record_flag, keys; | 262 | Lisp_Object function, record_flag, keys; |
| 262 | { | 263 | { |
diff --git a/src/data.c b/src/data.c index 1071107947c..558c7a974af 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -776,8 +776,8 @@ SUBR must be a built-in function. */) | |||
| 776 | 776 | ||
| 777 | DEFUN ("interactive-form", Finteractive_form, Sinteractive_form, 1, 1, 0, | 777 | DEFUN ("interactive-form", Finteractive_form, Sinteractive_form, 1, 1, 0, |
| 778 | doc: /* Return the interactive form of CMD or nil if none. | 778 | doc: /* Return the interactive form of CMD or nil if none. |
| 779 | CMD must be a command. Value, if non-nil, is a list | 779 | If CMD is not a command, the return value is nil. |
| 780 | \(interactive SPEC). */) | 780 | Value, if non-nil, is a list \(interactive SPEC). */) |
| 781 | (cmd) | 781 | (cmd) |
| 782 | Lisp_Object cmd; | 782 | Lisp_Object cmd; |
| 783 | { | 783 | { |
diff --git a/src/editfns.c b/src/editfns.c index 2782a966bf0..7fdd5598bf8 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3410,6 +3410,7 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 3410 | /* Piggyback on this loop to initialize precision[N]. */ | 3410 | /* Piggyback on this loop to initialize precision[N]. */ |
| 3411 | precision[n] = -1; | 3411 | precision[n] = -1; |
| 3412 | } | 3412 | } |
| 3413 | precision[nargs] = -1; | ||
| 3413 | 3414 | ||
| 3414 | CHECK_STRING (args[0]); | 3415 | CHECK_STRING (args[0]); |
| 3415 | /* We may have to change "%S" to "%s". */ | 3416 | /* We may have to change "%S" to "%s". */ |
| @@ -3433,11 +3434,11 @@ usage: (format STRING &rest OBJECTS) */) | |||
| 3433 | 3434 | ||
| 3434 | /* Allocate the info and discarded tables. */ | 3435 | /* Allocate the info and discarded tables. */ |
| 3435 | { | 3436 | { |
| 3436 | int nbytes = nargs * sizeof *info; | 3437 | int nbytes = (nargs+1) * sizeof *info; |
| 3437 | int i; | 3438 | int i; |
| 3438 | info = (struct info *) alloca (nbytes); | 3439 | info = (struct info *) alloca (nbytes); |
| 3439 | bzero (info, nbytes); | 3440 | bzero (info, nbytes); |
| 3440 | for (i = 0; i < nargs; i++) | 3441 | for (i = 0; i <= nargs; i++) |
| 3441 | info[i].start = -1; | 3442 | info[i].start = -1; |
| 3442 | discarded = (char *) alloca (SBYTES (args[0])); | 3443 | discarded = (char *) alloca (SBYTES (args[0])); |
| 3443 | bzero (discarded, SBYTES (args[0])); | 3444 | bzero (discarded, SBYTES (args[0])); |
diff --git a/src/eval.c b/src/eval.c index f28105ac987..ee74215b2ee 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -742,6 +742,13 @@ If DOCSTRING starts with *, this variable is identified as a user option. | |||
| 742 | This means that M-x set-variable recognizes it. | 742 | This means that M-x set-variable recognizes it. |
| 743 | See also `user-variable-p'. | 743 | See also `user-variable-p'. |
| 744 | If INITVALUE is missing, SYMBOL's value is not set. | 744 | If INITVALUE is missing, SYMBOL's value is not set. |
| 745 | |||
| 746 | If SYMBOL has a local binding, then this form affects the local | ||
| 747 | binding. This is usually not what you want. Thus, if you need to | ||
| 748 | load a file defining variables, with this form or with `defconst' or | ||
| 749 | `defcustom', you should always load that file _outside_ any bindings | ||
| 750 | for these variables. \(`defconst' and `defcustom' behave similarly in | ||
| 751 | this respect.) | ||
| 745 | usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */) | 752 | usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */) |
| 746 | (args) | 753 | (args) |
| 747 | Lisp_Object args; | 754 | Lisp_Object args; |
| @@ -784,6 +791,10 @@ Always sets the value of SYMBOL to the result of evalling INITVALUE. | |||
| 784 | If SYMBOL is buffer-local, its default value is what is set; | 791 | If SYMBOL is buffer-local, its default value is what is set; |
| 785 | buffer-local values are not affected. | 792 | buffer-local values are not affected. |
| 786 | DOCSTRING is optional. | 793 | DOCSTRING is optional. |
| 794 | |||
| 795 | If SYMBOL has a local binding, then this form sets the local binding's | ||
| 796 | value. However, you should normally not make local bindings for | ||
| 797 | variables defined with this form. | ||
| 787 | usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */) | 798 | usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */) |
| 788 | (args) | 799 | (args) |
| 789 | Lisp_Object args; | 800 | Lisp_Object args; |
diff --git a/src/indent.c b/src/indent.c index a5de1431e4b..d8bd5f5c663 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -1131,6 +1131,9 @@ struct position val_compute_motion; | |||
| 1131 | 1131 | ||
| 1132 | WIDTH is the number of columns available to display text; | 1132 | WIDTH is the number of columns available to display text; |
| 1133 | compute_motion uses this to handle continuation lines and such. | 1133 | compute_motion uses this to handle continuation lines and such. |
| 1134 | If WIDTH is -1, use width of window's text area adjusted for | ||
| 1135 | continuation glyph when needed. | ||
| 1136 | |||
| 1134 | HSCROLL is the number of columns not being displayed at the left | 1137 | HSCROLL is the number of columns not being displayed at the left |
| 1135 | margin; this is usually taken from a window's hscroll member. | 1138 | margin; this is usually taken from a window's hscroll member. |
| 1136 | TAB_OFFSET is the number of columns of the first tab that aren't | 1139 | TAB_OFFSET is the number of columns of the first tab that aren't |
| @@ -1228,6 +1231,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1228 | int prev_vpos = 0; | 1231 | int prev_vpos = 0; |
| 1229 | int contin_hpos; /* HPOS of last column of continued line. */ | 1232 | int contin_hpos; /* HPOS of last column of continued line. */ |
| 1230 | int prev_tab_offset; /* Previous tab offset. */ | 1233 | int prev_tab_offset; /* Previous tab offset. */ |
| 1234 | int continuation_glyph_width; | ||
| 1231 | 1235 | ||
| 1232 | XSETBUFFER (buffer, current_buffer); | 1236 | XSETBUFFER (buffer, current_buffer); |
| 1233 | XSETWINDOW (window, win); | 1237 | XSETWINDOW (window, win); |
| @@ -1245,6 +1249,23 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1245 | if (tab_width <= 0 || tab_width > 1000) | 1249 | if (tab_width <= 0 || tab_width > 1000) |
| 1246 | tab_width = 8; | 1250 | tab_width = 8; |
| 1247 | 1251 | ||
| 1252 | /* Negative width means use all available text columns. */ | ||
| 1253 | if (width < 0) | ||
| 1254 | { | ||
| 1255 | width = window_box_text_cols (win); | ||
| 1256 | /* We must make room for continuation marks if we don't have fringes. */ | ||
| 1257 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 1258 | if (!FRAME_WINDOW_P (XFRAME (win->frame))) | ||
| 1259 | #endif | ||
| 1260 | width -= 1; | ||
| 1261 | } | ||
| 1262 | |||
| 1263 | continuation_glyph_width = 0; | ||
| 1264 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 1265 | if (!FRAME_WINDOW_P (XFRAME (win->frame))) | ||
| 1266 | continuation_glyph_width = 1; | ||
| 1267 | #endif | ||
| 1268 | |||
| 1248 | immediate_quit = 1; | 1269 | immediate_quit = 1; |
| 1249 | QUIT; | 1270 | QUIT; |
| 1250 | 1271 | ||
| @@ -1368,7 +1389,8 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1368 | { | 1389 | { |
| 1369 | if (hscroll | 1390 | if (hscroll |
| 1370 | || (truncate_partial_width_windows | 1391 | || (truncate_partial_width_windows |
| 1371 | && width + 1 < FRAME_COLS (XFRAME (WINDOW_FRAME (win)))) | 1392 | && ((width + continuation_glyph_width) |
| 1393 | < FRAME_COLS (XFRAME (WINDOW_FRAME (win))))) | ||
| 1372 | || !NILP (current_buffer->truncate_lines)) | 1394 | || !NILP (current_buffer->truncate_lines)) |
| 1373 | { | 1395 | { |
| 1374 | /* Truncating: skip to newline, unless we are already past | 1396 | /* Truncating: skip to newline, unless we are already past |
| @@ -1652,7 +1674,7 @@ compute_motion (from, fromvpos, fromhpos, did_motion, to, tovpos, tohpos, width, | |||
| 1652 | hpos -= hscroll; | 1674 | hpos -= hscroll; |
| 1653 | /* Count the truncation glyph on column 0 */ | 1675 | /* Count the truncation glyph on column 0 */ |
| 1654 | if (hscroll > 0) | 1676 | if (hscroll > 0) |
| 1655 | hpos++; | 1677 | hpos += continuation_glyph_width; |
| 1656 | tab_offset = 0; | 1678 | tab_offset = 0; |
| 1657 | } | 1679 | } |
| 1658 | contin_hpos = 0; | 1680 | contin_hpos = 0; |
| @@ -1737,12 +1759,14 @@ assuming it is at position FROMPOS--a cons of the form (HPOS . VPOS)-- | |||
| 1737 | to position TO or position TOPOS--another cons of the form (HPOS . VPOS)-- | 1759 | to position TO or position TOPOS--another cons of the form (HPOS . VPOS)-- |
| 1738 | and return the ending buffer position and screen location. | 1760 | and return the ending buffer position and screen location. |
| 1739 | 1761 | ||
| 1762 | If TOPOS is nil, the actual width and height of the window's | ||
| 1763 | text area are used. | ||
| 1764 | |||
| 1740 | There are three additional arguments: | 1765 | There are three additional arguments: |
| 1741 | 1766 | ||
| 1742 | WIDTH is the number of columns available to display text; | 1767 | WIDTH is the number of columns available to display text; |
| 1743 | this affects handling of continuation lines. | 1768 | this affects handling of continuation lines. A value of nil |
| 1744 | This is usually the value returned by `window-width', less one (to allow | 1769 | corresponds to the actual number of available text columns. |
| 1745 | for the continuation glyph). | ||
| 1746 | 1770 | ||
| 1747 | OFFSETS is either nil or a cons cell (HSCROLL . TAB-OFFSET). | 1771 | OFFSETS is either nil or a cons cell (HSCROLL . TAB-OFFSET). |
| 1748 | HSCROLL is the number of columns not being displayed at the left | 1772 | HSCROLL is the number of columns not being displayed at the left |
| @@ -1774,6 +1798,7 @@ visible section of the buffer, and pass LINE and COL as TOPOS. */) | |||
| 1774 | Lisp_Object from, frompos, to, topos; | 1798 | Lisp_Object from, frompos, to, topos; |
| 1775 | Lisp_Object width, offsets, window; | 1799 | Lisp_Object width, offsets, window; |
| 1776 | { | 1800 | { |
| 1801 | struct window *w; | ||
| 1777 | Lisp_Object bufpos, hpos, vpos, prevhpos; | 1802 | Lisp_Object bufpos, hpos, vpos, prevhpos; |
| 1778 | struct position *pos; | 1803 | struct position *pos; |
| 1779 | int hscroll, tab_offset; | 1804 | int hscroll, tab_offset; |
| @@ -1783,10 +1808,15 @@ visible section of the buffer, and pass LINE and COL as TOPOS. */) | |||
| 1783 | CHECK_NUMBER_CAR (frompos); | 1808 | CHECK_NUMBER_CAR (frompos); |
| 1784 | CHECK_NUMBER_CDR (frompos); | 1809 | CHECK_NUMBER_CDR (frompos); |
| 1785 | CHECK_NUMBER_COERCE_MARKER (to); | 1810 | CHECK_NUMBER_COERCE_MARKER (to); |
| 1786 | CHECK_CONS (topos); | 1811 | if (!NILP (topos)) |
| 1787 | CHECK_NUMBER_CAR (topos); | 1812 | { |
| 1788 | CHECK_NUMBER_CDR (topos); | 1813 | CHECK_CONS (topos); |
| 1789 | CHECK_NUMBER (width); | 1814 | CHECK_NUMBER_CAR (topos); |
| 1815 | CHECK_NUMBER_CDR (topos); | ||
| 1816 | } | ||
| 1817 | if (!NILP (width)) | ||
| 1818 | CHECK_NUMBER (width); | ||
| 1819 | |||
| 1790 | if (!NILP (offsets)) | 1820 | if (!NILP (offsets)) |
| 1791 | { | 1821 | { |
| 1792 | CHECK_CONS (offsets); | 1822 | CHECK_CONS (offsets); |
| @@ -1802,6 +1832,7 @@ visible section of the buffer, and pass LINE and COL as TOPOS. */) | |||
| 1802 | window = Fselected_window (); | 1832 | window = Fselected_window (); |
| 1803 | else | 1833 | else |
| 1804 | CHECK_LIVE_WINDOW (window); | 1834 | CHECK_LIVE_WINDOW (window); |
| 1835 | w = XWINDOW (window); | ||
| 1805 | 1836 | ||
| 1806 | if (XINT (from) < BEGV || XINT (from) > ZV) | 1837 | if (XINT (from) < BEGV || XINT (from) > ZV) |
| 1807 | args_out_of_range_3 (from, make_number (BEGV), make_number (ZV)); | 1838 | args_out_of_range_3 (from, make_number (BEGV), make_number (ZV)); |
| @@ -1810,9 +1841,20 @@ visible section of the buffer, and pass LINE and COL as TOPOS. */) | |||
| 1810 | 1841 | ||
| 1811 | pos = compute_motion (XINT (from), XINT (XCDR (frompos)), | 1842 | pos = compute_motion (XINT (from), XINT (XCDR (frompos)), |
| 1812 | XINT (XCAR (frompos)), 0, | 1843 | XINT (XCAR (frompos)), 0, |
| 1813 | XINT (to), XINT (XCDR (topos)), | 1844 | XINT (to), |
| 1814 | XINT (XCAR (topos)), | 1845 | (NILP (topos) |
| 1815 | XINT (width), hscroll, tab_offset, | 1846 | ? window_internal_height (w) |
| 1847 | : XINT (XCDR (topos))), | ||
| 1848 | (NILP (topos) | ||
| 1849 | ? (window_box_text_cols (w) | ||
| 1850 | - ( | ||
| 1851 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 1852 | FRAME_WINDOW_P (XFRAME (w->frame)) ? 0 : | ||
| 1853 | #endif | ||
| 1854 | 1)) | ||
| 1855 | : XINT (XCAR (topos))), | ||
| 1856 | (NILP (width) ? -1 : XINT (width)), | ||
| 1857 | hscroll, tab_offset, | ||
| 1816 | XWINDOW (window)); | 1858 | XWINDOW (window)); |
| 1817 | 1859 | ||
| 1818 | XSETFASTINT (bufpos, pos->bufpos); | 1860 | XSETFASTINT (bufpos, pos->bufpos); |
| @@ -1837,7 +1879,6 @@ vmotion (from, vtarget, w) | |||
| 1837 | register int from, vtarget; | 1879 | register int from, vtarget; |
| 1838 | struct window *w; | 1880 | struct window *w; |
| 1839 | { | 1881 | { |
| 1840 | int width = window_box_text_cols (w); | ||
| 1841 | int hscroll = XINT (w->hscroll); | 1882 | int hscroll = XINT (w->hscroll); |
| 1842 | struct position pos; | 1883 | struct position pos; |
| 1843 | /* vpos is cumulative vertical position, changed as from is changed */ | 1884 | /* vpos is cumulative vertical position, changed as from is changed */ |
| @@ -1858,12 +1899,6 @@ vmotion (from, vtarget, w) | |||
| 1858 | 1899 | ||
| 1859 | XSETWINDOW (window, w); | 1900 | XSETWINDOW (window, w); |
| 1860 | 1901 | ||
| 1861 | /* We must make room for continuation marks if we don't have fringes. */ | ||
| 1862 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 1863 | if (!FRAME_WINDOW_P (XFRAME (w->frame))) | ||
| 1864 | #endif | ||
| 1865 | width -= 1; | ||
| 1866 | |||
| 1867 | /* If the window contains this buffer, use it for getting text properties. | 1902 | /* If the window contains this buffer, use it for getting text properties. |
| 1868 | Otherwise use the current buffer as arg for doing that. */ | 1903 | Otherwise use the current buffer as arg for doing that. */ |
| 1869 | if (EQ (w->buffer, Fcurrent_buffer ())) | 1904 | if (EQ (w->buffer, Fcurrent_buffer ())) |
| @@ -1905,7 +1940,7 @@ vmotion (from, vtarget, w) | |||
| 1905 | 1 << (BITS_PER_SHORT - 1), | 1940 | 1 << (BITS_PER_SHORT - 1), |
| 1906 | /* ... nor HPOS. */ | 1941 | /* ... nor HPOS. */ |
| 1907 | 1 << (BITS_PER_SHORT - 1), | 1942 | 1 << (BITS_PER_SHORT - 1), |
| 1908 | width, hscroll, | 1943 | -1, hscroll, |
| 1909 | /* This compensates for start_hpos | 1944 | /* This compensates for start_hpos |
| 1910 | so that a tab as first character | 1945 | so that a tab as first character |
| 1911 | still occupies 8 columns. */ | 1946 | still occupies 8 columns. */ |
| @@ -1964,7 +1999,7 @@ vmotion (from, vtarget, w) | |||
| 1964 | 1 << (BITS_PER_SHORT - 1), | 1999 | 1 << (BITS_PER_SHORT - 1), |
| 1965 | /* ... nor HPOS. */ | 2000 | /* ... nor HPOS. */ |
| 1966 | 1 << (BITS_PER_SHORT - 1), | 2001 | 1 << (BITS_PER_SHORT - 1), |
| 1967 | width, hscroll, | 2002 | -1, hscroll, |
| 1968 | (XFASTINT (prevline) == BEG ? -start_hpos : 0), | 2003 | (XFASTINT (prevline) == BEG ? -start_hpos : 0), |
| 1969 | w); | 2004 | w); |
| 1970 | did_motion = 1; | 2005 | did_motion = 1; |
| @@ -1978,7 +2013,7 @@ vmotion (from, vtarget, w) | |||
| 1978 | } | 2013 | } |
| 1979 | return compute_motion (from, vpos, pos.hpos, did_motion, | 2014 | return compute_motion (from, vpos, pos.hpos, did_motion, |
| 1980 | ZV, vtarget, - (1 << (BITS_PER_SHORT - 1)), | 2015 | ZV, vtarget, - (1 << (BITS_PER_SHORT - 1)), |
| 1981 | width, hscroll, | 2016 | -1, hscroll, |
| 1982 | pos.tab_offset - (from == BEG ? start_hpos : 0), | 2017 | pos.tab_offset - (from == BEG ? start_hpos : 0), |
| 1983 | w); | 2018 | w); |
| 1984 | } | 2019 | } |
diff --git a/src/keyboard.c b/src/keyboard.c index a6cc2836315..23e29e3f878 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -11369,8 +11369,8 @@ It's called with one argument, the help string to display. */); | |||
| 11369 | 11369 | ||
| 11370 | After a command is executed, if point is moved into a region that has | 11370 | After a command is executed, if point is moved into a region that has |
| 11371 | special properties (e.g. composition, display), we adjust point to | 11371 | special properties (e.g. composition, display), we adjust point to |
| 11372 | the boundary of the region. But, several special commands sets this | 11372 | the boundary of the region. But, when a command sets this variable to |
| 11373 | variable to non-nil, then we suppress the point adjustment. | 11373 | non-nil, we suppress the point adjustment. |
| 11374 | 11374 | ||
| 11375 | This variable is set to nil before reading a command, and is checked | 11375 | This variable is set to nil before reading a command, and is checked |
| 11376 | just after executing the command. */); | 11376 | just after executing the command. */); |
diff --git a/src/keymap.c b/src/keymap.c index 4c23977ef41..98e04f65717 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -343,7 +343,7 @@ keymap_memberp (map, maps) | |||
| 343 | 343 | ||
| 344 | DEFUN ("set-keymap-parent", Fset_keymap_parent, Sset_keymap_parent, 2, 2, 0, | 344 | DEFUN ("set-keymap-parent", Fset_keymap_parent, Sset_keymap_parent, 2, 2, 0, |
| 345 | doc: /* Modify KEYMAP to set its parent map to PARENT. | 345 | doc: /* Modify KEYMAP to set its parent map to PARENT. |
| 346 | PARENT should be nil or another keymap. */) | 346 | Return PARENT. PARENT should be nil or another keymap. */) |
| 347 | (keymap, parent) | 347 | (keymap, parent) |
| 348 | Lisp_Object keymap, parent; | 348 | Lisp_Object keymap, parent; |
| 349 | { | 349 | { |
| @@ -1719,7 +1719,8 @@ If a second optional argument MAPVAR is given, the map is stored as | |||
| 1719 | its value instead of as COMMAND's value; but COMMAND is still defined | 1719 | its value instead of as COMMAND's value; but COMMAND is still defined |
| 1720 | as a function. | 1720 | as a function. |
| 1721 | The third optional argument NAME, if given, supplies a menu name | 1721 | The third optional argument NAME, if given, supplies a menu name |
| 1722 | string for the map. This is required to use the keymap as a menu. */) | 1722 | string for the map. This is required to use the keymap as a menu. |
| 1723 | This function returns COMMAND. */) | ||
| 1723 | (command, mapvar, name) | 1724 | (command, mapvar, name) |
| 1724 | Lisp_Object command, mapvar, name; | 1725 | Lisp_Object command, mapvar, name; |
| 1725 | { | 1726 | { |
diff --git a/src/process.c b/src/process.c index 0b3f6bfbbd2..24ec816a699 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -4196,7 +4196,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display) | |||
| 4196 | present (for reading) at stdin, even when none is. This | 4196 | present (for reading) at stdin, even when none is. This |
| 4197 | causes the call to SELECT below to return 1 and | 4197 | causes the call to SELECT below to return 1 and |
| 4198 | status_notify not to be called. As a result output of | 4198 | status_notify not to be called. As a result output of |
| 4199 | subprocesses are incorrectly discarded. | 4199 | subprocesses are incorrectly discarded. |
| 4200 | */ | 4200 | */ |
| 4201 | FD_CLR (0, &Atemp); | 4201 | FD_CLR (0, &Atemp); |
| 4202 | #endif | 4202 | #endif |
| @@ -4763,16 +4763,16 @@ read_process_output (proc, channel) | |||
| 4763 | if (DATAGRAM_CHAN_P (channel)) | 4763 | if (DATAGRAM_CHAN_P (channel)) |
| 4764 | { | 4764 | { |
| 4765 | int len = datagram_address[channel].len; | 4765 | int len = datagram_address[channel].len; |
| 4766 | nbytes = recvfrom (channel, chars + carryover, readmax - carryover, | 4766 | nbytes = recvfrom (channel, chars + carryover, readmax, |
| 4767 | 0, datagram_address[channel].sa, &len); | 4767 | 0, datagram_address[channel].sa, &len); |
| 4768 | } | 4768 | } |
| 4769 | else | 4769 | else |
| 4770 | #endif | 4770 | #endif |
| 4771 | if (proc_buffered_char[channel] < 0) | 4771 | if (proc_buffered_char[channel] < 0) |
| 4772 | { | 4772 | { |
| 4773 | nbytes = emacs_read (channel, chars + carryover, readmax - carryover); | 4773 | nbytes = emacs_read (channel, chars + carryover, readmax); |
| 4774 | #ifdef ADAPTIVE_READ_BUFFERING | 4774 | #ifdef ADAPTIVE_READ_BUFFERING |
| 4775 | if (!NILP (p->adaptive_read_buffering)) | 4775 | if (nbytes > 0 && !NILP (p->adaptive_read_buffering)) |
| 4776 | { | 4776 | { |
| 4777 | int delay = XINT (p->read_output_delay); | 4777 | int delay = XINT (p->read_output_delay); |
| 4778 | if (nbytes < 256) | 4778 | if (nbytes < 256) |
| @@ -4784,7 +4784,7 @@ read_process_output (proc, channel) | |||
| 4784 | delay += READ_OUTPUT_DELAY_INCREMENT * 2; | 4784 | delay += READ_OUTPUT_DELAY_INCREMENT * 2; |
| 4785 | } | 4785 | } |
| 4786 | } | 4786 | } |
| 4787 | else if (delay > 0 && (nbytes == readmax - carryover)) | 4787 | else if (delay > 0 && (nbytes == readmax)) |
| 4788 | { | 4788 | { |
| 4789 | delay -= READ_OUTPUT_DELAY_INCREMENT; | 4789 | delay -= READ_OUTPUT_DELAY_INCREMENT; |
| 4790 | if (delay == 0) | 4790 | if (delay == 0) |
| @@ -4803,7 +4803,7 @@ read_process_output (proc, channel) | |||
| 4803 | { | 4803 | { |
| 4804 | chars[carryover] = proc_buffered_char[channel]; | 4804 | chars[carryover] = proc_buffered_char[channel]; |
| 4805 | proc_buffered_char[channel] = -1; | 4805 | proc_buffered_char[channel] = -1; |
| 4806 | nbytes = emacs_read (channel, chars + carryover + 1, readmax - 1 - carryover); | 4806 | nbytes = emacs_read (channel, chars + carryover + 1, readmax - 1); |
| 4807 | if (nbytes < 0) | 4807 | if (nbytes < 0) |
| 4808 | nbytes = 1; | 4808 | nbytes = 1; |
| 4809 | else | 4809 | else |
diff --git a/src/window.c b/src/window.c index 9c94a43c3cd..e2c3fe51744 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4707,7 +4707,7 @@ window_scroll_line_based (window, n, whole, noerror) | |||
| 4707 | 4707 | ||
| 4708 | posit = *compute_motion (startpos, 0, 0, 0, | 4708 | posit = *compute_motion (startpos, 0, 0, 0, |
| 4709 | PT, ht, 0, | 4709 | PT, ht, 0, |
| 4710 | window_box_text_cols (w), XINT (w->hscroll), | 4710 | -1, XINT (w->hscroll), |
| 4711 | 0, w); | 4711 | 0, w); |
| 4712 | original_vpos = posit.vpos; | 4712 | original_vpos = posit.vpos; |
| 4713 | 4713 | ||