1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-18 06:01:22 -08:00
Commit graph

40244 commits

Author SHA1 Message Date
Karl Fogel
3a3aa0e056 Move interactive `transpose-regions' to Lisp
Define `transpose-regions' in Lisp, because its complex interactive
spec was ungainly in C, and change the C version to non-interactive
`transpose-regions-internal'.  The Lisp function is just a wrapper
around the C function, which still does all the work.

* lisp/simple.el (transpose-regions): New wrapper function, with
  interactive spec taken from old C `transpose-regions'.

* src/editfns.c (Ftranspose_regions): Rename to...
  (Ftranspose_regions_internal): ...here, and remove interactive spec.

Discussion on Emacs Devel:

  From: Karl Fogel
  To: Emacs Development
  Cc: Richard Copley, Charles A. Roelli
  Subject: Re: [Emacs-diffs] master b88e7c8: \
           Make transpose-regions interactive (Bug#30343)
  Date: Fri, 16 Mar 2018 10:23:31 -0500
  Message-ID: <87po44jb7w.fsf@red-bean.com>

  https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00555.html
2018-03-18 16:43:18 -05:00
Eli Zaretskii
4a20174d79 Fix 'posn-at-point' when line numbers are displayed
* src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
coordinate due to line-number display.  (Bug#30834)
2018-03-16 19:15:33 +02:00
Eli Zaretskii
33cba5405c Another followup to fixing 'window-text-pixel-width'
* src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
when we stop one buffer position short of TO.  (Bug#30746)
2018-03-16 18:11:07 +02:00
Paul Eggert
64a1da4989 Improve port to NetBSD tzalloc
Problem reported by Valery Ushakov (Bug#30738#13).
* src/editfns.c (tzlookup) [__NetBSD_Version__ < 700000000]:
If tzalloc fails for any reason other than memory exhaustion,
assume it’s because NetBSD 6 does not support tzalloc on
POSIX-format TZ strings, and fall back on tzdb if possible.
2018-03-15 09:36:28 -07:00
Eli Zaretskii
5c585b8b99 Fix mouse-set-point when line numbers are displayed
* src/xdisp.c (move_it_to): Initialize the line_number_produced_p
flag before iterating on a new line.  (Bug#30818)
2018-03-15 15:13:50 +02:00
Glenn Morris
e0f18aa07f Merge from origin/emacs-26
675edec (origin/emacs-26) Fix some allout.el aliases
b2c069a * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving)...
2f5420c Doc fixes re obsolete items
9edf82a Replace an obsolete alias in tpu-mapper
a643792 Doc fixes re obsolete items
3060fb8 Minor changes in mule.texi
3e39897 Avoid assertion violation under visual-order-cursor-movement
e4b73ab Stop mentioning options.el in doc
05669f0 ; * lisp/minibuffer.el (completion-cycle-threshold): Fix last...
758597f * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
62f0a2b * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
761845c Fix last change in Xref documentation
5186675 More changes in the Emacs manual
b1aaa72 Improve documentation of Xref

Conflicts:
	lisp/w32-fns.el
2018-03-13 18:13:26 -07:00
Eli Zaretskii
06911714ef * src/xdisp.c (Fwindow_text_pixel_size): Fix last change. 2018-03-13 20:00:54 +02:00
Eli Zaretskii
3e39897cd0 Avoid assertion violation under visual-order-cursor-movement
* src/xdisp.c (Fmove_point_visually): Don't let point exceed the
BEGV..ZV range.  Signal Beginning of buffer error when there's a
before-string at BEGV.  (Bug#30787)
2018-03-13 18:00:23 +02:00
Paul Eggert
e067f1fd9f Revert overenthusiastic procfs fixup
Also, be more systematic in calls to string_to_number.
* src/sysdep.c (list_system_processes) [HAVE_PROCFS]: Allow pids
to be floating-point if they exceed fixnum range.  This partially
reverts my patch 2018-03-09T20:06:05Z!eggert@cs.ucla.edu, which
went too far in fixing string-to-number mishandling.
2018-03-12 10:37:05 -07:00
Charles A. Roelli
b88e7c8bcd Make transpose-regions interactive (Bug#30343)
* doc/emacs/fixit.texi (Transpose): Mention and explain the new
command.
* editfns.c (Ftranspose_regions): Add an interactive calling
specification, and add documentation for it.
2018-03-11 11:59:01 +01:00
Paul Eggert
d48f4c3be1 Port to NetBSD tzalloc
Problem reported by Valery Ushakov (Bug#30738).
* src/editfns.c (xtzalloc): Remove.
(invalid_time_zone_specification): New function.
(tzlookup): Port to NetBSD, where tzalloc can fail when the TZ
string has an invalid value.
2018-03-11 00:22:08 -08:00
Paul Eggert
a3f26048a9 Merge from origin/emacs-26
5c91ca8 Fix create_process bug breaking eudc-expand-inline
e244fed Clarify that nil doesn't match itself as a cl-case clause (Bu...
df0e7e2 Improve SVG documentation
a34ef52 Document the "URL" keyword in library headers
fbc7f9a * test/lisp/international/mule-tests.el: Avoid local variable...
16faff6 ; * lisp/org/org-table.el: Replace obsolete alias in comment.
2018-03-10 18:30:54 -08:00
Paul Eggert
5c91ca8f30 Fix create_process bug breaking eudc-expand-inline
Problem reported by Thomas Fitzsimmons (Bug#30762).
* src/process.c (create_process) [HAVE_PTYS]:
Call setsid even if !PTY_FLAG.
2018-03-10 18:27:42 -08:00
Aaron Jensen
bbf53d99b5 Allow underline position variables be buffer-local
* src/nsterm.m (ns_draw_text_decoration):
* src/w32term.c (x_draw_glyph_string):
* src/xterm.c (x_draw_glyph_string): Allow underline-minimum-offset,
underline-at-descent-line, and x-use-underline-position-properties
be buffer local variables.  (Bug#30553)
* src/xdisp.c (syms_of_xdisp) <underline-minimum-offset>: Add DEFSYM.
2018-03-10 13:14:28 +02:00
Paul Eggert
ae0634148e Fix string-to-number C-level mishandling
* src/sysdep.c (list_system_processes):
* src/xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
Defend against Fstring_to_number returning a float or a nonsense
integer.
2018-03-09 12:08:48 -08:00
Paul Eggert
80e145fc96 Avoid losing info when formatting integers
* doc/lispref/numbers.texi (Integer Basics): Clarify that
out-of-range integers are treated as floating point only when the
integers are decimal.
* etc/NEWS: Mention changes.
* src/editfns.c (styled_format): Use %.0f when formatting %d or %i
values outside machine integer range, to avoid losing info.
Signal an error for %o or %x values that are too large to be
formatted, to avoid losing info.
2018-03-08 20:57:01 -08:00
Glenn Morris
43548b51cb Merge from origin/emacs-26
cb0d40e (origin/emacs-26) Minor change in the manual
7e26d83 More minor changes in the manual
6851754 Replace some obsolete aliases in code
6bcb48c Replace some obsolete aliases in documentation
317da2a Minor improvements in manuals
61c1f80 Minor copyedits in display.texi
d523e4a Remove some unused spam.el variables
501808c Replace some obsolete aliases in code
19afff3 Replace some obsolete aliases in documentation
c797bc9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
0efe0bd Obsolete eshell-cmpl-suffix-list
add48d2 More minor changes in the Glossary of the Emacs manual
f6bd7e0 Revert last commit
af4697f Define if-let* and derivatives as aliases for if-let etc
ec79bdc Minor fix in Emacs manual's Glossary
2018-03-08 08:29:14 -08:00
Eli Zaretskii
50e2c0fb51 Fix 'window-text-pixel-size' when display properties are around
* src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
there's a display property at the  TO position, and the call to
move_it_to overshoots.  (Bug#30746)
2018-03-08 15:32:23 +02:00
Eli Zaretskii
1ac1905538 Fix display of TABs in hscrolled windows with line numbers
* src/dispextern.h (struct it): New members tab_offset and
line_number_produced_p.
* src/xdisp.c (display_line): Don't set row->x to a negative value
if line numbers are being displayed.  (Bug#30582)
Reset the line_number_produced_p flag before laying out the glyph
row.
(x_produce_glyphs): Use the line_number_produced_p flag to decide
whether to offset the X coordinate due to line-number display.
Use the tab_offset member to restore the original TAB width for
alignment purposes.
(move_it_in_display_line_to): Don't produce line numbers when moving
in hscrolled window to the left of first_visible_x.
(maybe_produce_line_number): Set the line_number_produced_p flag.
(Bug#30584)
* src/term.c (produce_glyphs): Correct TAB width only when
line_number_produced_p flag is set.
2018-03-07 20:40:44 +02:00
Glenn Morris
19afff31c9 Replace some obsolete aliases in documentation
* doc/emacs/text.texi (Nroff Mode):
* doc/misc/efaq.texi (How to add fonts):
* lisp/gnus/nnheader.el (nnheader-insert-file-contents):
* lisp/progmodes/pascal.el (pascal-outline-mode):
Doc fixes re obsolete aliases.
; * src/frame.c (do_switch_frame): Comment.
2018-03-06 20:13:51 -05:00
Daniel Colascione
819179f275 Rename marker_free_list to misc_free_list
* src/alloc.c: 'marker_free_list' -> 'misc_free_list' throughout
2018-03-04 17:14:32 -08:00
Glenn Morris
762ea10d7f Merge from origin/emacs-26
0213c8b (origin/emacs-26) mwheel minor consistency fix
82f12b2 * src/window.c (Frecenter): Improve commentary.
04da8f4 Fix downloading non-text files in EWW
832b9ec ; Spelling fixes
dd88499 ; Spelling fixes
3968f72 Rename some mwheel options, for consistency
d6e78de * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete...
5fe0387 Improve the Emacs manual
56ab8e3 * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#3...

Conflicts:
	etc/NEWS
	lisp/mwheel.el
2018-03-02 11:59:46 -08:00
Eli Zaretskii
82f12b2f13 * src/window.c (Frecenter): Improve commentary. 2018-03-02 11:24:24 +02:00
Paul Eggert
a4605cd60d Improve octal-escape output in bool vectors and strings
* src/print.c (octalout): New function.
(print_vectorlike): When printing bool vectors, use
octal escapes for control characters when
print-escape-control-characters is non-nil, so that
the printed representation avoids encoding issues.
Rename locals to avoid byte-vs-char confusion.
(print_object): Don't output unnecessary zeros when
printing octal escapes.  Simplify by using octalout.
2018-03-01 18:16:43 -08:00
Eli Zaretskii
8643de540e Remove redundant test in fns.c
* src/fns.c (extract_data_from_object): Remove redundant
CHECK_BUFFER test.
2018-03-01 17:20:32 +02:00
Paul Eggert
ca8afa7672 Require a larger stack size for threads on macOS (bug#30364)
* src/systhread.c (sys_thread_create)
[THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
Do not merge to master.
2018-02-28 16:31:20 -08:00
Glenn Morris
3959892419 Merge from origin/emacs-26
fd50238 (origin/emacs-26) * doc/lispref/streams.texi (Output Variable...
769ea57 Use "GTK+" where applicable in the manual
5e69219 Document print-escape-control-characters
c00fea9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
a2ab0d0 * doc/emacs/killing.texi (Rectangles): Don't use @key for cha...
6288c3d * lisp/emulation/viper.el: Unbreak it.
bf3535e More fixes in the Emacs manual
c87d04e Avoid aborts in 'md5'
9743f48 Mark keys consistently in manuals
ce557a9 Remove @key{} markups from @kindex entries in manuals
71243f0 * doc/emacs/display.texi (Standard Faces): Fix markup of inde...
7a069f3 Fix @kindex entries in manuals
6218933 Fix @cindex entries in manuals
57c9f12 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into...
e415309 Fix @cindex entries in org.texi
560a23e Document reserved keys
105d085 * doc/misc/ebrowse.texi: Use @key{} for keys.

Conflicts:
	doc/misc/tramp.texi
	etc/NEWS
2018-02-28 09:40:40 -08:00
Aaron Jensen
e7a5b1bb67 Require a larger stack size for threads (bug#30364)
* src/systhread.c (sys_thread_create) [THREADS_ENABLED && HAVE_PTHREAD]:
Require at least 8MB stack size for x64 and 4MB for x86.
2018-02-27 09:28:30 -08:00
Eli Zaretskii
c87d04e05e Avoid aborts in 'md5'
* src/fns.c (extract_data_from_object): Don't crash if called with
an invalid object.  (Bug#30627)
2018-02-27 18:44:15 +02:00
Daniel Colascione
25271a63a0 Make bare "make" in src actually build emacs again
* src/Makefile.in (all): Move target ahead of dep-file inclusion.
2018-02-26 09:18:11 -08:00
Glenn Morris
80c2bf6e16 Merge from origin/emacs-26
7e7f2ea (origin/emacs-26) * src/keyboard.c (syms_of_keyboard): Doc fi...
c0676d4 Improve documentation of X resources
d806d69 ; Use @minus for negative numbers in some texi files
4a8ea7d * lisp/international/mule.el (keyboard-coding-system): Doc fix.
8a73b80 Minor doc fixes, mostly for timestamp issues
361a8b9 * doc/emacs/mini.texi (Completion Styles): Improve indexing.
2dc24d5 Fix @findex and @vindex entries in manuals
76f5242 Document, in the Elisp manual, how to get a character's raw s...
5fb2957 Improvements in the Emacs manual
de17b8e Tiny doc/misc markup fixes
2018-02-24 07:50:30 -08:00
Eli Zaretskii
7e7f2ea644 * src/keyboard.c (syms_of_keyboard): Doc fix. (Bug#30588) 2018-02-24 11:30:02 +02:00
Glenn Morris
6bfb754c3e Merge from origin/emacs-26
83187cd (origin/emacs-26) Skip mouse-face overlap check when mouse-fa...
a6d8f2b Fix capitalization of "Mail-Followup-To"
f9640f9 * lisp/progmodes/grep.el (grep-compute-defaults):
3a26c8a Semantic manual fixes
106a9f6 More improvements in the Emacs manual
244db85 * doc/misc/viper.texi (File and Buffer Handling): Add missing...
f0d6a16 Fix documentation of 'x-underline-at-descent-line'
69a8f45 * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
05214c6 Correct variable markup in manuals
355c644 Improve the "Sending Mail" chapter of Emacs manual

Conflicts:
	src/nsterm.m
	src/w32term.c
2018-02-22 09:27:21 -08:00
Martin Rudalics
83187cd900 Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
* src/xdisp.c (note_mouse_highlight): Skip check whether
mouse-face highlighting overlay overlaps other mouse-face
overlays when mouse-face highlighting is hidden (Bug#30519).
2018-02-22 08:50:47 +01:00
Eli Zaretskii
f0d6a16d74 Fix documentation of 'x-underline-at-descent-line'
* doc/emacs/display.texi (Display Custom):
* src/nsterm.m (syms_of_nsterm):
* src/xterm.c (syms_of_xterm):
* src/w32term.c (syms_of_w32term): Mention the effect of
'line-spacing' on the underline position.  (Bug#30553)
2018-02-21 06:20:58 +02:00
Paul Eggert
d599dce135 Port recent MAX_RW_COUNT checks to POSIX
* src/sysdep.c (MAX_RW_COUNT): Verify that it fits in POSIX standard
types, to go along with already-existing checks for MS-Windows types.
(emacs_intr_read): eassert on all platforms, not just MS-Windows.
2018-02-20 13:45:27 -08:00
Paul Eggert
240df54e24 Fix false alarm with recent GCC x86
* src/lread.c (Fload): Use UNINIT to pacify -Wmaybe-uninitialized
false alarm on Fedora 27 x86 with GCC 7.3.1 20180130 (Red Hat 7.3.1-2).
2018-02-20 09:15:53 -08:00
Glenn Morris
650febcd3e Merge from origin/emacs-26
226aca3 (origin/emacs-26) Fix documentation of 'flyspell-auto-correct...
a8c8434 * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
275e735 More changes in the Emacs manuals
d962be5 More fixes in the Emacs manual
6dc2846 * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
36e729f Minor edit in tramp.texi
6537f99 ; Fix oversight from last commit
eb94588 ; * doc/emacs/maintaining.texi: Fix two typos.
258135f More improvements in the Emacs manual
f138bca Improve documentation of 'electric-pair-mode'
f74ab96 ; Spelling and grammar fixes.
42f9dc4 ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
2018-02-20 07:50:29 -08:00
Eli Zaretskii
3d42272754 Add assertion to guard 'read' calls on MS-Windows
* src/sysdep.c (emacs_intr_read): Assert that NBYTES never
overflows a 32-bit int.
2018-02-20 05:58:58 +02:00
Eli Zaretskii
6dc2846a2d * src/data.c (Faref): Fix a typo in the doc string. (Bug#30510) 2018-02-18 18:36:11 +02:00
Glenn Morris
4fa90ff8f5 Merge from origin/emacs-26
e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes
f21f8e6 Document 'desktop-files-not-to-save'
d8917eb Improve documentation of Profiling features
b228839 Improve indexing of "performance" in ELisp manual
ab67b3e Minor change in Emacs manual's VC chapter
c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3...
593bbda Document comment-fill-column in the manual (Bug#11636)
bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
69107f3 ; Fix doc typos related to indefinite articles
aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
5906418 More fixes for the Emacs manual
9ab3df1 ; Fix doc typos related to indefinite articles
66a4e65 ; Fix doc typos related to indefinite articles
35e5c57 ; Fix doc typos related to indefinite articles
2018-02-17 07:50:28 -08:00
Noam Postavsky
cb3863370c Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
* configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
AC_SEARCH_LIBS.
* src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
instead of just LIBLCMS2.
2018-02-17 08:49:18 -05:00
Alan Third
5b464a9cea Fix modifier key handling on macOS
* configure.ac: Use the Carbon framework on macOS.
* src/nsterm.m (ns_get_shifted_character) [NS_IMPL_COCOA]: New function.
(EmacsView::keyDown) [NS_IMPL_COCOA]: Use ns_get_shifted_character
when we have shift style modifiers.
2018-02-17 12:34:50 +00:00
Eli Zaretskii
4429f97b58 Make echo-area buffers almost always multibyte
* src/xdisp.c (setup_echo_area_for_printing, set_message_1): Ensure
the echo-area buffer is multibyte, unless
unibyte-display-via-language-environment is non-nil, and the text
we are to display is or could be unibyte.  (Bug#30405)
2018-02-17 14:26:49 +02:00
Radon Rosborough
24acb31c04 Add early init file, stop package-initialize insertion
Discussion on emacs-devel leading up to this change (approximately 150
messages):

- https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00154.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00433.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00023.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00599.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00332.html

* lisp/startup.el (early-init-file): New variable.
(load-user-init-file): New function.
(command-line): Load the early init file using `load-user-init-file'.
Move the check for an invalid username to just before that, and move
the initialization of the package system to just after.  Load the
regular init file using `load-user-init-file'.
* lisp/emacs-lisp/package.el (package--ensure-init-file): Remove
definition, usage, and documentation.
(package--init-file-ensured): Remove definition and usage.

* src/lread.c (Vuser_init_file): Note change in semantics due to its
usage while loading the early init file.

* doc/emacs/custom.texi: Document early init file.
* doc/emacs/package.texi: Document changes to when package-initialize
is called.  Change terminology for package 'loading'.
* doc/lispref/os.texi: Document early init file.  Update startup
summary.
* doc/lispref/package.texi: Document changes to when
package-initialize is called, and advise against calling it in the
init file.  Change terminology for package 'loading'.
* doc/misc/org.texi: Don't recommend to call package-initialize in the
init file.
2018-02-17 13:36:16 +02:00
Noam Postavsky
c352434ab8 Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
If grow_specpdl fails due to outgrowing max_specpdl_size, it will
signal an error *before* growing the specpdl array.  Therefore, when
handling the signal, specpdl_ptr points past the end of the specpdl
array and any further use of of specpdl before unwinding (e.g., if
edebug binds signal-hook-function) will cause memory corruption.
* src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
the specpdl_ptr is already past the end of the specpdl array.
* test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
(eval-exceed-specbind-with-signal-hook): New test & helper function.
2018-02-16 22:13:34 -05:00
Glenn Morris
69107f347b ; Fix doc typos related to indefinite articles 2018-02-16 17:33:57 -05:00
Glenn Morris
9ab3df197f ; Fix doc typos related to indefinite articles 2018-02-16 16:33:36 -05:00
Matthias Dahl
4ba32858d6 Fix wait_reading_process_output wait_proc hang
* src/process.c (read_process_output): Track bytes read from
a process.
(wait_reading_process_output): If called recursively through
timers and/or process filters via accept-process-output, it is
possible that the output of wait_proc has already been read by
one of those recursive calls, leaving the original call hanging
forever if no further output arrives through that fd and no
timeout has been set.  Fix that by using the process read
accounting to keep track of how many bytes have been read and
use that as a condition to break out of the infinite loop and
return to the caller as well as to calculate the proper return
value (if a wait_proc is given that is).

* src/process.h (struct Lisp_Process): Add nbytes_read to track
bytes read from a process.
2018-02-16 17:57:40 +02:00
Glenn Morris
298275c595 ; Replace "Written by" with standard "Author:" header in some C files 2018-02-13 14:29:59 -08:00