| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was already charset file present in etc/charsets for IBM2XX
character sets but there wasn't definitions for them in Emacs.
Add character set and coding system definitions for them.
* lisp/language/japanese.el (ibm281, ibm290):
* lisp/language/european.el (ibm256, ibm273, ibm274, ibm277)
(ibm278, ibm280, ibm284, ibm285, ibm297):
* lisp/language/english.el (ibm275): New coding systems.
* lisp/international/mule-conf.el (ibm256, ibm273, ibm274)
(ibm275, ibm277, ibm278, ibm280, ibm281, ibm284, ibm285, ibm290)
(ibm297): New charsets.
|
|
|
|
|
| |
* nt/mingw-cfg.site (gl_cv_func_free_preserves_errno): Set to
"yes" to avoid compiling Gnulib's free.c in the MinGW build.
|
|
|
|
|
|
| |
This reverts commit 3ba34141da77a24c251ee6530f3f72a366fe556e.
It breaks the MinGW build and should be first tested on a
branch.
|
|
|
|
|
|
| |
This reverts commit 2c79a8f9210db01c86b0e5f236adeb0509519d30.
It breaks the MinGW build in too many ways, and should be
first tested on a branch.
|
|
|
|
|
|
|
|
|
|
|
|
| |
posix_spawn is less error-prone than vfork + execve, and can make
better use of system-specific enhancements like 'clone' on Linux. Use
it if we don't need to configure a pseudoterminal.
* src/Makefile.in (LIB_POSIX_SPAWN): New variable.
(LIBES): Use it.
* src/callproc.c (emacs_spawn): Use posix_spawn on Unix-like system if
we don't need to set up a pseudoterminal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
posix_spawn is less error-prone than vfork + exec, and can make use of
system-specific optimizations like `clone' on Linux. Import Gnulib
replacement so that we can use recent additions like
`posix_spawn_file_actions_addchdir'.
The only manual change are to admin/merge-gnulib and .gitignore. All
other changes are due to rerunning merge-gnulib.
* admin/merge-gnulib (GNULIB_MODULES): Add posix_spawn-related
modules.
* .gitignore: Add new generated files.
|
|
|
|
|
| |
All changes in this commit are autogenerated by running
admin/merge-gnulib.
|
|
|
|
|
| |
* test/Makefile.in ($(test_module)): Also compile lib/free.c
if it is needed to define rpl_free.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The latest Gnulib merge brought in free-posix, which causes 'free'
to preserve errno. This lets us simplify some Emacs code that
calls 'free'.
* admin/merge-gnulib (GNULIB_MODULES): Add free-posix.
This module is pulled in by canonicalize-lgpl anyway,
so we might as well rely on it.
* lib-src/emacsclient.c (get_current_dir_name):
Sync better with src/sysdep.c.
* lib-src/etags.c (process_file_name, etags_mktmp):
* lib-src/update-game-score.c (unlock_file):
* src/fileio.c (file_accessible_directory_p):
* src/sysdep.c (get_current_dir_name_or_unreachable):
Simplify by assuming that 'free' preserves errno.
* src/alloc.c (malloc_unblock_input):
Preserve errno, so that xfree preserves errno.
* src/sysdep.c (get_current_dir_name_or_unreachable):
Simplify by using strdup instead of malloc+memcpy.
No need for realloc (and the old code leaked memory anyway on
failure); just use free+malloc.
|
|
|
|
|
|
|
| |
* src/gtkutil.c (xg_item_label_same_p): Simplify. Without this
simplification, GCC (Ubuntu 10.2.0-13ubuntu1)
-Wanalyzer-null-argument complains about use of NULL where
non-null expected as argument of strcmp.
|
|
|
|
|
|
|
| |
* lisp/progmodes/cperl-mode.el (cperl-init-faces): %array[0, 1]
should use the array face, not the hash one (bug#45373).
Copyright-paperwork-exempt: yes
|
|
|
|
|
| |
* lisp/subr.el (remove-hook): Make `remove-hook' interactive
(bug#45393).
|
|
|
|
|
|
|
| |
* doc/lispref/strings.texi (Creating Strings): Document it.
* lisp/emacs-lisp/subr-x.el (string-limit): Allow limiting on
encoded strings.
|
|
|
|
|
|
| |
* doc/lispref/strings.texi (Creating Strings): Ditto.
* lisp/emacs-lisp/subr-x.el (string-slice): Remove.
|
|
|
|
|
|
| |
* lib/Makefile.in (DEPFLAGS): Unbreak build on BSD derivatives by
writing all deps files into a single directory (instead of
deps/malloc/*.c).
|
| |
|
|
|
|
|
|
| |
* nt/mingw-cfg.site (gl_cv_func_readlink_trailing_slash)
(gl_cv_func_readlink_truncate): Define to "yes" to avoid compiling
readlink.c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/w32.h (set_process_dir):
* src/w32proc.c (set_process_dir): Change the argument to 'const
char *'.
* src/lisp.h (make_environment_block):
* src/callproc.c (make_environment_block): Now returns 'char **'.
(exec_failed) [DOS_NT]: Remove unused function.
* src/callproc.c (child_setup): NEW_ARGV and ENV are now 'char **'.
Making them 'const' breaks the MinGW build and is not needed for
other platforms.
* src/callproc.c (emacs_spawn): ARGV and ENVP arguments are now
'char *', for the same reason.
* src/process.c (create_process): Adapt to above changes.
|
|
|
|
|
| |
All changes in this commit are autogenerated by running
admin/merge-gnulib.
|
|
|
|
| |
* lib/Makefile.in (.c.o): Add missing -o option.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Getting the vfork + execve combination right isn't easy, and the code
was partially duplicated between callproc.c and process.c. Centralize
the spawn operation in a single function that deals with the nasty
details. Going forward, we should be able to use posix_spawn from
either libc or Gnulib (or CreateProcessW on Windows) in the non-pty
case.
* src/callproc.c (emacs_spawn): New function to start an asynchronous
subprocess. Merge code from 'call_process' and 'create_process' into
this function.
(call_process): Use new 'emacs_spawn' function.
(child_setup): Make static, since there are no users outside this
compilation unit left.
(CHILD_SETUP_TYPE): Move from header file, since there are no users
outside this compilation unit left.
* src/process.c (create_process): Use new 'emacs_spawn' function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also fix three infinite loops. The new cache accelerates backward searches
for struct beginnings in c-looking-at-or-maybe-in-bracelist.
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): In the final loop
over unary operators, add a check (> (point) lim) to avoid certain infinite
loops.
(c-beginning-of-decl-1): In the first loop add a similar check on point and
lim.
(c-laomib-loop): New function extracted from
c-looking-at-or-maybe-in-bracelist.
(c-laomib-cache): New buffer local variable.
(c-laomib-get-cache, c-laomib-put-cache, c-laomib-fix-elt)
(c-laomib-invalidate-cache): New functions which implement the cache.
(c-looking-at-or-maybe-in-bracelist): Replace two invocations of
c-go-up-list-backwards with calls to c-parse-state. Extract the new function
c-laomib-loop. Insert code which calls c-laomib-loop minimally, with the help
of the new cache.
* lisp/progmodes/cc-mode.el (c-basic-common-init): Initialise the new cach
(at mode start).
(c-before-change): Invalidate the new cache.
(c-fl-decl-start): Add an extra check (> (point) bod-lim) to prevent looping.
Determine the enclosing brace to pass as arguments to
c-looking-at-or-maybe-in-bracelist.
|
|
|
|
|
| |
When reading, prefer staying in the selected-window over preserving
the current-buffer.
|
|
|
|
|
| |
`lisp-outline-level` assumes the match-data is that set by
`outline-regexp`.
|
|
|
|
|
|
|
|
|
| |
* lisp/auth-source.el (authinfo-hide-elements): New user option.
(authinfo--keywords): New variable.
(authinfo-mode): Use it.
(authinfo--hide-passwords): Use doc-face instead of warning for
the passwords.
(authinfo--toggle-display): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/tab-line.el:
(tab-line-tab-face-functions): New option.
(tab-line-tab-inactive-alternate): New face.
(tab-line-tab-special): New face.
(tab-line-tab-face-inactive-alternating): New function.
(tab-line-tab-face-special): New function.
(tab-line-format-template): Use them.
* etc/NEWS: Update.
With thanks to Juri Linkov and Eli Zaretskii for their guidance.
|
|
|
|
|
|
| |
This matches the signature of execve.
* src/callproc.c (child_setup): Declare NEW_ARGV as char *const *.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids the impression that 'child_setup' could do anything
Lisp-related.
* src/callproc.c (child_setup): Pass C pointer to current directory
name.
(call_process): Adapt callers.
* src/process.c (create_process): Adapt callers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While 'child_setup' carefully avoids calls to async-signal-unsafe
functions like 'malloc', it seems simpler and less brittle to use
normal allocation outside the critical section between 'fork' and
'exec'.
* src/callproc.c (make_environment_block): New function to create the
environment block for subprocesses. Code largely extracted from
'child_setup' and adapted to use 'xmalloc' instead of 'alloca'.
(child_setup): Remove environment block allocation in favor of
passing the environment block as command-line argument.
(call_process): Adapt to new calling convention.
* src/process.c (create_process): Adapt to new calling convention.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Such filenames are dangerous, as Emacs would silently only use the
part up to the first NUL byte. Reject them explicitly instead.
* src/coding.c (encode_file_name_1): New helper function.
(encode_file_name): Check that encoded filename doesn't contain a
NUL byte.
(syms_of_coding): Define 'filenamep' symbol.
* test/src/fileio-tests.el (fileio-tests/null-character): New unit
test.
* etc/NEWS: Document change.
|
|
|
|
|
|
|
| |
* src/callproc.c (child_setup): Remove unused SET_PGRP parameter.
* src/callproc.c (call_process):
* src/process.c (create_process): Fix all callers.
|
|
|
|
|
|
| |
* lisp/image-mode.el (image-mode-isearch-filter): New function.
(image-mode--setup-mode): Use it to add it as :before-while to
isearch-filter-predicate.
|
|
|
|
|
| |
* lisp/emacs-lisp/subr-x.el (string-limit): Mention
truncate-string-to-width in the doc string.
|
|
|
|
|
| |
* lisp/emacs-lisp/subr-x.el (string-slice): Allow zero-length
matches. Code adapted from s.el by Magnar Sveen.
|
|
|
|
|
|
|
| |
* lisp/server.el (server-switch-buffer, server-execute): Revert
9cef8fc8cdb5e6e18c9cf617eed3808d67ca340e and
c5f2eb56c0164e87abc881955552e0b718921186. This change led to
regressions in non-new-frame circumstances.
|
|
|
|
|
|
| |
* net/shr.el (shr-tag-base): shr-parse-base can't handle empty
strings gracefully. Don't call it unless href is a non-empty
string (bug#45355).
|
|
|
|
|
| |
* src/alloc.c (display_malloc_warning): Use new style ':emergency'
warning level instead of obsolete 'emergency'.
|
|
|
|
|
| |
* src/fileio.c (auto_save_error): Use new style ':error' warning level
instead of obsolete 'error'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/nsfont.m (ns_otf_to_script):
(ns_registry_to_script):
(ns_get_req_script): Use NSString conversion methods.
* src/nsimage.m ([EmacsImage allocInitFromFile:]): Use NSString
conversion methods.
* src/nsmenu.m (ns_menu_show): Use NSString conversion methods.
* src/nsselect.m (symbol_to_nsstring):
(ns_string_to_pasteboard_internal): Use NSString conversion methods.
* src/nsterm.m (ns_term_init):
([EmacsView initFrameFromEmacs:]): Use NSString conversion methods.
* src/nsxwidget.m (nsxwidget_webkit_uri):
(nsxwidget_webkit_title):
(js_to_lisp): Use NSString conversion methods.
(build_string_with_nsstr): Functionality replaced by NSString
extensions.
|
|
|
|
|
| |
* lisp/profiler.el (profiler-report-render-calltree-1): Replace two
occurrences of "Function" with " Function".
|
|
|
|
|
|
|
|
|
|
| |
* lisp/gnus/gnus-search.el (gnus-search-run-search): Imap servers need
to be opened (made into the "current server") before we manipulate the
nnimap-buffer.
(gnus-search-run-search): Sneakily fix regexp.
(gnus-search-indexed-parse-output): We need to pass the server name in
here, otherwise nnmaildir won't know how to make this the "current
server".
|
|
|
|
|
| |
* lisp/profiler.el (profiler-report-header-line-format): Propertize the first
space with 'display '(space :align-to 0).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Putting the usage figures first on the line will eliminate the truncation of
function names.
lisp/profiler.el (profiler-version): Change to "28.1".
(profiler-format): Enhance, so that a width of zero means print the string
without padding or truncation.
(profiler-report-cpu-line-format, profiler-report-memory-line-format): Amend
for the new layout. The number of places for the cpu samples has been reduced
from 19 to 12 (enough for ~30 years at 1,000 samples per second).
(profiler-report-line-format, profiler-report-describe-entry): Amend for the
new order of arguments to profiler-format.
etc/NEWS (Specialized Modes): Add an entry documenting this change.
doc/lispref/debugging.texi (Profiling): Describe the new ordering of the items
in place of the old ordering.
|
|
|
|
|
|
| |
* lisp/net/tramp.el: Move header lines Version, Package-Requires,
Package-Type and URL ...
* lisp/net/trampver.el: ... here.
|
| |
|
|
|
|
|
|
|
|
| |
* lisp/wdired.el (wdired-get-filename): In some systems like BSD or
macOS, "ls -F" marks symlinks with a trailing "@". Add logic
accounting for this so that wdired-get-filename returns the correct
filename. This change also fixes test "wdired-test-bug34915" on macOS
and BSD systems (bug#34915).
|
|
|
|
|
| |
* lisp/emacs-lisp/subr-x.el (string-pad): Alter the calling
convention.
|
|
|
|
|
| |
* lisp/emacs-lisp/subr-x.el (string-limit): Alter the calling
convention.
|
|
|
|
|
| |
* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Put \r
back, which was mistakenly removed.
|