1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-06 05:52:32 -08:00
Commit graph

123445 commits

Author SHA1 Message Date
Aurélien Aptel
f69cd6bfa1 Add new User Pointer (User_Ptr) type
* src/lisp.h: Add new Lisp_Misc_User_Ptr type.
(XUSER_PTR): New User_Ptr accessor.
* src/alloc.c (make_user_ptr): New function.
(mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
* src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
(Fuser-ptrp): New user pointer type predicate function.
(syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
subr.
* src/print.c (print_object): Add printer for User_Ptr type.
2015-11-18 14:24:06 -05:00
Aurélien Aptel
435cf35bcc Add portable layer for dynamic loading
* src/dynlib.h: New file.
* src/dynlib.c: New file.

Co-authored-by: Philipp Stephani <phst@google.com>
2015-11-18 14:23:53 -05:00
Philipp Stephani
7cdc5d628a Add catch-all & no-signal version of PUSH_HANDLER
Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
a new "catch-all" handler type.

* src/eval.c (init_handler, push_handler, push_handler_nosignal): New
  functions.
* src/fns.c (hash_remove_from_table): Expose function public.
* src/lisp.h: New handler type, define macro to push_handler call.
2015-11-18 14:23:41 -05:00
Ken Brown
133ad3e200 ; * lisp/server.el (server-process-filter): Simplify last change 2015-11-18 14:16:40 -05:00
Ken Brown
ce7ef5b5e0 Silence byte-compiler warning
* lisp/server.el (server-process-filter): Silence byte-compiler
warning.
2015-11-18 13:34:47 -05:00
Paul Eggert
bb4303c536 Quote symbols in docstrings using `'
Be more systematic about quoting symbols `like-this' rather than
`like-this or 'like-this' in docstrings.  This follows up Artur
Malabarba's email in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
2015-11-18 09:17:55 -08:00
Peder O. Klingenberg
3e309ad86c Fix savegames in dunnet
* lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
  of separate implementation.
2015-11-18 13:25:08 +01:00
Artur Malabarba
2e6d7d1e34 * lisp/emacs-lisp/package.el (package--with-response-buffer):
Ensure we're at the start of the buffer before searching for
the end of headers.
2015-11-18 10:28:33 +00:00
Xue Fuqiao
35d490fd32 * admin/release-process: Improve wording. 2015-11-18 08:56:50 +08:00
Xue Fuqiao
883a4d2aa0 Backport: * CONTRIBUTE: Remove information about feature freeze.
(cherry picked from commit ae0653b5ab)
2015-11-18 08:42:35 +08:00
Xue Fuqiao
0b7d791d27 Backport: Document the release process
* admin/notes/versioning: Add information about RC releases.
* admin/release-process: Document the release process.
* admin/authors.el (authors-ignored-files):
* admin/README: Change FOR-RELEASE to release-process.
* CONTRIBUTE:
* admin/notes/bugtracker: Don't mention FOR-RELEASE.

(cherry picked from commit 9a4aa0f594)
2015-11-18 08:42:02 +08:00
Xue Fuqiao
20b043f97c Backport: * admin/release-process: Rename from admin/FOR-RELEASE.
(cherry picked from commit f8cc14b597)
2015-11-18 08:41:15 +08:00
Xue Fuqiao
cfedd55820 Backport: Mention CONTRIBUTE in README
Mention CONTRIBUTE in README, since it was moved from etc/ to root.
* etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
* README: Mention CONTRIBUTE.

(cherry picked from commit ed2e7e20ae)
2015-11-18 08:38:01 +08:00
Paul Eggert
ac16149ba4 Fix docstring quoting problems with ‘ '’
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
Most of these fixes are to documentation; many involve fixing
longstanding quoting glitches that are independent of the
recent substitute-command-keys changes.  The changes to code are:
* lisp/cedet/mode-local.el (mode-local-augment-function-help)
(describe-mode-local-overload):
Substitute docstrings before displaying them.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Quote the generated docstring for later substitution.
2015-11-17 15:29:35 -08:00
Eli Zaretskii
abf673af29 Improve configure --help text for wide ints
* configure.ac (wide-int): Clarify user-level advantages and
disadvantages.
2015-11-17 21:07:37 +02:00
Stephen Leake
ce4eeca8d4 Improve doc string
* lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
2015-11-17 07:49:29 -06:00
Paul Eggert
54beeef118 eval_sub followed dangling pointer when debugging
Problem reported by Pip Cet (Bug#21245).
This bug could occur in eval_sub if the C compiler reused
storage associated with the ‘argvals’ local after ‘argvals’
went out of scope, and if the Elisp debugger stopped on Elisp
function exit and accessed ‘argvals’.  It could also occur if
a variadic function was called with so many arguments (over
2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
SAFE_FREE freed the arguments, then the memory manager used
the storage for other purposes, then the debugger accessed the
arguments.
* src/eval.c (eval_sub): Declare ‘argvals’ at top level of
function body.	Simplify local decls.
When allocating args via SAFE_ALLOCA, call
debugger before invoking SAFE_FREE, as the debugger needs
access to the args.
(eval_sub, apply_lambda): Rework to avoid need for
set_backtrace_debug_on_exit hack.  This is cleaner,
and should work better with buggy custom debuggers.
2015-11-16 23:09:28 -08:00
Daiki Ueno
1721600d24 * lisp/image-mode.el: Support encrypted file
(image-toggle-display-image): Read content from the buffer instead
of the file, if the buffer holds a decrypted data.  (Bug#21870)
2015-11-17 11:49:40 +09:00
Paul Eggert
c9fd597a4c ELF unexec: align section header
This ports the recent unexelf.c changes to Fedora x86-64
when configured with GCC’s -fsanitize=undefined option.
* src/unexelf.c (unexec): Align new_data2_size to a multiple
of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
pointer aligned appropriately for its type.
2015-11-16 17:48:52 -08:00
Juanma Barranquero
1cdddc1db6 ; lisp/window.el (display-buffer-at-bottom): Fix indentation 2015-11-17 02:02:07 +01:00
Andreas Schwab
d443710169 Do more checks on bytecode objects (Bug#21929)
* src/eval.c (funcall_lambda): Check size of compiled function
object.
(Ffetch_bytecode): Likewise.
2015-11-17 00:18:50 +01:00
Johan Bockgård
c4b20fc936 pcase.el: Fix edebugging of backquoted cons patterns
* lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
cons patterns. (Bug#21920)
2015-11-16 23:48:25 +01:00
Paul Eggert
8ff888a07d Improve fix for regex reentrancy abort
Suggested by Stefan Monnier (Bug#21688).
* src/syntax.c (update_syntax_table_forward):
Remove recently-added PROPERTIZE arg, and assume it is true.
All callers changed.
* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
Invoke update_syntax_table directly.
2015-11-16 13:10:17 -08:00
Dmitry Gutov
1f07a61ee3 ; Fix breakage in elisp-mode-tests.el 2015-11-16 19:15:58 +02:00
Artur Malabarba
26b6952277 * lisp/faces.el (faces--attribute-at-point): Use `face-list-p' 2015-11-16 14:35:31 +00:00
Artur Malabarba
31fc056791 * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require 2015-11-16 13:53:45 +00:00
Artur Malabarba
63acb2e868 * lisp/emacs-lisp/nadvice.el (add-function): Escape quote 2015-11-16 09:49:00 +00:00
Vasily Korytov
dbc090aeab Recognize .rbw and .pyw files (bug#18753)
* lisp/progmodes/python.el (auto-mode-alist):
Recognize .pyw files.

* lisp/progmodes/ruby-mode.el (auto-mode-alist):
Recognize .rbw files.
2015-11-16 01:32:35 +02:00
Dmitry Gutov
2edfc40a72 Fix ruby-mode auto-mode-alist entry
* lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
around the extensions (bug#21257).
2015-11-16 01:14:54 +02:00
Dmitry Gutov
f60a3b086c Fix etags completion near eob
* lisp/progmodes/etags.el (tags-completion-at-point-function):
Use `goto-char', to avoid the end-of-buffer error (bug#20061).
2015-11-16 00:30:30 +02:00
Alan Mackenzie
4765d24e18 De-pessimize detection of C++ member initialization lists.
list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
(c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
is only called when a construct "looks right" rather than continually.
(c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
2015-11-15 21:59:40 +00:00
Artur Malabarba
d99ccd6dd1 Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
* lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
`url-insert-buffer-contents'.
(url-insert-buffer-contents): New function

(package--with-response-buffer): Use `url-insert-buffer-contents'.
The previous code had some issues with decoding. Refactoring that
function allows us to use the decoding from url-handlers while still
treating both sync and async requests the same.
2015-11-15 21:32:47 +00:00
Stephen Leake
a6843cce90 Improve a few doc strings, comments
* lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
* lisp/cedet/ede/locate.el (ede-locate-base):
* lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
* src/fns.c (Fdelq): Improve doc string.

* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
2015-11-15 13:44:41 -06:00
Anders Lindgren
ae16894d1e Enhance NSTRACE (trace output for NextStep).
Trace can be disabled for groups of functions. By default, event
functions and functions that generate lots of output are disabled.

Trace output of Objective-C functions now use the "[ClassName
parameter:]" form.

* src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
(NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
(NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
controlling in which function groups trace should be active.
(NSTRACE_WHEN): Support for silencing a function, this also
silencing all called functions.
(NSTRACE_UNSILENCE): New macro, used to re-enable trace.
(NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
print the full screen state in NSTRACE functions.

* src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
can be accessed from multiple threads.
(nstrace_enabled_global): New variable, when FALSE, trace is
silenced.
(nstrace_restore_global_trace_state): New function, used to
restore `nstrace_enabled_global' at end of block.
([EmacsView setFrame:], [EmacsWindow setFrame:display:])
([EmacsWindow setFrame:display:animation:])
([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
and call corresponding super function.
(Many functions): Add or enhance trace output.

* src/nsimage.m (ns_image_from_file): Enhanced trace output.

* src/nsfns.m (x_set_tool_bar_lines): Add trace output.

* src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
and call corresponding super function.
2015-11-15 20:19:34 +01:00
Anders Lindgren
6d109c051c ; Cleanup of change log. Removed obsolete email addresses. 2015-11-15 19:28:32 +01:00
Anders Lindgren
b36ba568a9 Fixed a toolbar related issue on OS X.
Earlier, when toggling the tool-bar in a maximized frame, the
frame size didn't match the number of text lines, leaving an
unused area at the bottom of the frame.

* nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
fullscreen modes when tool bar is disabled.
2015-11-15 19:17:53 +01:00
Anders Lindgren
63e6f4c820 Fixed OS X 10.6.8 build issue (bug#21862).
* src/nsterm.h (EmacsView): Add missing declarations.
* src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
the standard method but without the notification parameter.
Intended to be used for direct calls.
([EmacsView windowDidEnterFullScreen]): Call the non-notification
version of `windowDidBecomeKey'. Made the notification method call
the non-notification method instead of the vice versa.
(NSWindowDidEnterFullScreenNotification): Deleted, no longer
needed.
2015-11-15 18:51:50 +01:00
Artur Malabarba
4f19767dfa * lisp/faces.el (faces--attribute-at-point): Fix an issue
Previous code would signal an error when the face at point was
a manually built list of attributes such as '(:foregroud "white").

* test/automated/faces-tests.el (faces--test-color-at-point): Add a test
2015-11-15 18:43:28 +00:00
Paul Eggert
8121757b3a Fix regex abort when it tries to reenter itself
Problem reported by Ken Raeburn.
Solution suggested by Stefan Monnier (Bug#21688).
* src/regex.c (re_match_2_internal):
Use new _FAST functions to avoid regex code reentering itself.
* src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
All callers changed.
* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
(UPDATE_SYNTAX_TABLE_FAST): New inline functions.
2015-11-15 01:15:42 -08:00
Dmitry Gutov
3a1a220b02 Improve Ruby 1.9-style keyword keys highlighting
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
Handle required keyword arguments (bug#21367).
And highlight the colon together with the name.
2015-11-15 07:25:19 +02:00
Dmitry Gutov
a4c6f55b9a Unify the absolutely equal xref-backend-references implementations
* lisp/progmodes/elisp-mode.el (xref-backend-references):
Remove.

* lisp/progmodes/etags.el (xref-backend-references):
Remove.

* lisp/progmodes/xref.el (xref-backend-references):
Define the default implementation.
2015-11-15 07:00:45 +02:00
Dmitry Gutov
1a3c4541c3 Update project-find-regexp for the new xref API
* lisp/progmodes/project.el (project--read-regexp):
Update to use the new xref API methods.

* lisp/progmodes/xref.el (xref-find-backend): Autoload.
2015-11-15 06:32:13 +02:00
Dmitry Gutov
bc2cec6b20 Fix replacing a match with a shorter string
In effect, partially reverting fe973fc.

* lisp/progmodes/xref.el (xref-query-replace): Store the end
of each match as a marker again, instead of length.
(xref--query-replace-1): Update accordingly.
2015-11-15 06:32:13 +02:00
Artur Malabarba
d24e7833e5 * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
Signal user-errors instead.
2015-11-14 21:13:33 +00:00
Eli Zaretskii
278d8c8e6c Document 'describe-symbol'
* doc/emacs/help.texi (Help Summary): Mention "C-h o".
(Name Help): Document "C-h o" and describe-symbol.

* lisp/help-fns.el (describe-symbol): Doc fix.
2015-11-14 22:02:26 +02:00
Paul Eggert
478262d6cc Change test name to avoid spellcheck issue. 2015-11-14 11:51:20 -08:00
Eli Zaretskii
33249be645 ; * etc/NEWS: Minor improvements in wording. 2015-11-14 21:38:47 +02:00
Eli Zaretskii
7ad01cb68a Avoid signaling an error in 'describe-symbol'
* lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
exists as a function/variable/face/etc., but is undocumented.

* test/automated/help-fns.el (help-fns-test-describe-symbol): New
test.
2015-11-14 19:27:52 +02:00
Eli Zaretskii
855c6e8cdb ; * etc/NEWS: Fix formatting 2015-11-14 18:25:24 +02:00
Eli Zaretskii
c0cbecf3e8 ; * etc/NEWS: Some easily fixed documentation marks 2015-11-14 18:22:45 +02:00