Commit graph

1552 commits

Author SHA1 Message Date
Philipp Stephani
fe49aa17d5 Always use gtk_window_move in new versions
* src/gtkutil.c (my_log_handler): Don’t define in new versions of
GTK+.
(xg_set_geometry): Always use gtk_window_move in new versions of GTK+.

* src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
is ignored.

* lisp/subr.el (x-gtk-use-window-move): Make obsolete.
2017-08-27 14:45:58 +02:00
Stefan Monnier
bfb8d33fd1 * lisp/subr.el (define-symbol-prop): New function
(symbol-file): Make it find symbol property definitions.

* lisp/emacs-lisp/pcase.el (pcase-defmacro):
* lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
(ert-describe-test): Adjust call to symbol-file accordingly.
2017-07-28 12:02:01 -04:00
Stefan Monnier
b2225a374f * lisp/subr.el (method-files): Move function to cl-generic.el
* lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
(cl--generic-method-files): New function, moved from subr.el.
* lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
* test/lisp/emacs-lisp/cl-generic-tests.el:
* test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
2017-07-28 11:28:48 -04:00
Eli Zaretskii
6ec43f8ddb * lisp/subr.el (add-to-history): Doc fix. (Bug#27494) 2017-07-22 11:34:55 +03:00
Tino Calancha
76e1f7d00f alist-get: Add optional arg TESTFN
If TESTFN is non-nil, then it is the predicate to lookup
the alist.  Otherwise, use 'eq' (Bug#27584).
* lisp/subr.el (alist-get): Add optional arg FULL.
* lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
* lisp/emacs-lisp/gv.el (alist-get): Update expander.
* doc/lispref/lists.texi (Association Lists): Update manual.
* etc/NEWS: Announce the changes.
* test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
(test-map-elt-testfn): New tests.
2017-07-17 21:30:50 +09:00
Noam Postavsky
eb9d3eca80 Escape control characters in backtraces (Bug#6991)
* src/print.c (syms_of_print): Add new variable,
print-escape-control-characters.
(print_object): Print control characters with octal escape codes when
print-escape-control-characters is true.
* lisp/subr.el (backtrace):
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
`print-escape-control-characters' to t.
2017-06-29 19:40:22 -04:00
Stefan-W. Hahn
51e8e77d0f * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
Copyright-paperwork-exempt: yes
2017-06-25 13:18:57 -04:00
Noam Postavsky
882f81fdb4 * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027). 2017-06-05 18:57:32 -04:00
Wilfred Hughes
c5cde97ba3 Add suggestion to docstring
* lisp/subr.el (interactive-p): Mention commandp, as this is often
  what users are actually looking for.
2017-05-29 01:04:41 +01:00
Gemini Lasswell
e6f64df9c2 Make edebug-step-in work on generic methods (Bug#22294)
* lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
New function to implement the edebug-form-spec property of
the symbol cl-generic-method-args.
(edebug-instrument-function): If the function is a generic
function, find and instrument all of its methods. Return a list
instead of a single symbol.
(edebug-instrument-callee): Now returns a list. Update docstring.
(edebug-step-in): Handle the list returned by edebug-instrument-callee.
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
cl-generic-method-args in its Edebug spec.
* lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
cl-generic-method-args in its Edebug spec.
* lisp/subr.el (method-files): New function.
* test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
(subr-tests--method-files--nonexistent-methods): New tests.
2017-05-14 23:32:27 +03:00
Glenn Morris
cee4128135 Merge from origin/emacs-25
784602b105 (origin/emacs-25) ; Add release notice
3a34412caa (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
56a4461a48 ; Move stray item from admin/notes/repo to CONTRIBUTE
2b0d111819 ; CONTRIBUTE: Remove stray header.
f2ab09ec60 Fix a typo in indexing the user manual
bc55a57423 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
a6d50401b4 Document 'line-pixel-height'
0c55cf43e6 * search.c (Fre_search_forward, Fre_search_backward): Imp...
c7ed57eaef Mention that processes start in default-directory (Bug#18...
856ec9ffa1 * src/xdisp.c (vmessage, message): Clarify commentary.
849a0aaa1c Belated fixes for admin.el's M-x make-manuals-dist
84938d7969 default-directory: Remark that it must be a directory name
3f0d047d2e Delete confuse statement in manual
ee1bd94dd0 Improve packaging documentation
fb18bff91f Expand manual section on quitting windows
9a73707964 Fix docstring of dabbrev-abbrev-char-regexp
afe8849bac * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
ada79442c0 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
d38fd9229c Narrow scope of modification hook renabling in org-src fo...
e0e9db4c84 ; Spelling fix

# Conflicts:
#	README
#	etc/AUTHORS
#	etc/HISTORY
#	lisp/ldefs-boot.el
2017-04-27 22:03:56 -07:00
Philipp Stephani
98bfac68b9 Validate SPEC of `dolist', cf. Bug#25477.
* lisp/subr.el (dolist): Test type and length of SPEC.
* test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
Add unit test.
2017-04-08 17:15:31 +02:00
Noam Postavsky
c7ed57eaef Mention that processes start in default-directory (Bug#18515)
* doc/lispref/processes.texi (Synchronous Processes):
(Asynchronous Processes):
* lisp/subr.el (start-process):
* src/callproc.c (call-process): Mention that the subprocess starts in
`default-directory' when local, suggest `start-file-process' and
`process-file' otherwise.
2017-04-06 18:50:54 -04:00
Tom Tromey
14659f69b0 change viper to use derived-mode-p
* lisp/subr.el (provided-mode-derived-p): New function.
(derived-mode-p): Use it.
* lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
(this-major-mode-requires-vi-state): Use provided-mode-derived-p.
(set-viper-state-in-major-mode): Use derived-mode-p.
2017-04-05 15:53:38 -06:00
Tino Calancha
6a9ba271a9 * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section. 2017-03-03 08:37:23 +09:00
Glenn Morris
ef6132c55f Fix recent bootstrap issue by moving string-to-list
* lisp/international/mule-util.el (string-to-list, string-to-vector):
Move from here...
* lisp/subr.el (string-to-list, string-to-vector): ...to here.
The implementation is trivial and at least string-to-list
has ended up being needed early during bootstrap.
2017-02-12 19:02:56 -08:00
Stefan Monnier
f74d496478 * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete. 2017-01-30 13:02:18 -05:00
Mark Oteiza
43eba49553 Move cXXXr and cXXXXr to subr.el
* etc/NEWS: Mention new core Elisp.
* doc/lispref/lists.texi (List Elements): Document and index the new
functions.
* doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
* lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
(cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
(cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
(cddddr): New functions.
* lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
(cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
(cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
(cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
(cl-cdddar, cl-cddddr): Alias to new subr functions.
* lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
elements.
2017-01-25 14:21:10 -05:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Stefan Monnier
a6063ffe5a * src/data.c (Fmake_variable_frame_local): Remove
* src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.

* src/data.c (swap_in_symval_forwarding, set_internal)
(set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
(Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
Don't pay attention to ->frame_local any more.
(syms_of_data): Remove Qtrapping_frame_local and don't defsubr
Smake_variable_frame_local.

* etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
of make-variable-frame-local.

* lisp/help-fns.el (describe-variable): Don't handle the now impossible
frame-local case.

* lisp/subr.el (make-variable-frame-local): Remove obsolescence data.

* src/frame.c (store_frame_param):
* src/eval.c (specbind): Don't pay attention to ->frame_local any more.

* src/widget.c (first_frame_p): Remove, unused.
2016-12-21 15:07:43 -05:00
Clément Pit--Claudel
27cada035a Move backtrace to ELisp using a new mapbacktrace primitive
* src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
(Fmapbacktrace, Fbacktrace_frame_internal): New functions.
(get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.

* lisp/subr.el (backtrace--print-frame): New function.
(backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
(backtrace-frame): Reimplement using `backtrace-frame--internal'.

* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
`mapbacktrace' instead of searching for "(debug" in the output of
`backtrace'.

* test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
(subr-test-backtrace-integration-test): New tests.

* doc/lispref/debugging.texi (Internals of Debugger): Document
`mapbacktrace' and missing argument BASE of `backtrace-frame'.
2016-12-12 17:41:27 -05:00
Eli Zaretskii
2412a1fc05 Support concurrency in Emacs Lisp
Merge branch 'test-concurrency'

* src/thread.c:
* src/thread.h:
* src/systhread.c:
* src/systhread.h: New files.
* src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
xnmalloc unconditionally.
* src/window.c (struct save_window_data): Rename current_buffer to
f_current_buffer.
* src/w32proc.c (sys_select): Change the function signature to
closer fit 'pselect' on Posix hosts.
* src/search.c:
* src/regex.h: Convert some globals to macros that reference
thread-specific values.
* src/process.c (pset_thread, add_non_keyboard_read_fd)
(add_process_read_fd, add_non_blocking_write_fd)
(recompute_input_desc, compute_input_wait_mask)
(compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
(compute_write_mask, clear_waiting_thread_info)
(update_processes_for_thread_death, Fset_process_thread)
(Fprocess_thread): New functions.
(enum fd_bits): New enumeration.
(fd_callback_data): Add 'thread' and 'waiting_thread', rename
'condition' to 'flags'.
(set_process_filter_masks, create_process, create_pty)
(Fmake_serial_process, finish_after_tls_connection)
(connect_network_socket, deactivate_process)
(server_accept_connection, wait_reading_process_output)
(Fcontinue_process, Fstop_process, keyboard_bit_set)
(add_timer_wait_descriptor, add_keyboard_wait_descriptor)
(delete_keyboard_wait_descriptor): Use the new functions instead
of manipulating fd flags and masks directly.
(syms_of_process): Defsubr the new primitives.
* src/print.c (print_object): Print threads, mutexes, and
conditional variables.
* src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
and PVEC_CONDVAR.
(XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
(CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
(XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
(struct handler): Add back byte_stack.  Rename lisp_eval_depth to
f_lisp_eval_depth.
* src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
(rebind_for_thread_switch, do_one_unbind)
(unbind_for_thread_switch): New functions.
(init_eval): 'handlerlist' is not malloc'ed.
(specbind): Call do_specbind.
(unbind_to): Call do_one_unbind.
(mark_specpdl): Accept 2 arguments.
(mark_specpdl): Mark the saved value in a let-binding.
* src/emacs.c (main): Call init_threads_once, init_threads, and
syms_of_threads.
* src/data.c (Ftype_of): Support thread, mutex, and condvar
objects.
(Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
(syms_of_data): DEFSYM and defsubr new symbols and primitives.
* src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
(BYTE_CODE_QUIT): Add back.
(exec_byte_code): Add back byte stack manipulation.
* src/alloc.c (cleanup_vector): Handle threads, mutexes, and
conditional variables.
(mark_stack): Now extern; accept additional argument 'bottom'.
(flush_stack_call_func): New function.
(garbage_collect_1): Call mark_threads and unmark_threads.  Don't
mark handlers.
* src/.gdbinit (xbytecode): Add back.

* test/src/thread-tests.el: New tests.
* test/src/data-tests.el (binding-test-manual)
(binding-test-setq-default, binding-test-makunbound)
(binding-test-defvar-bool, binding-test-defvar-int)
(binding-test-set-constant-t, binding-test-set-constant-nil)
(binding-test-set-constant-keyword)
(binding-test-set-constant-nil): New tests.

* doc/lispref/processes.texi (Processes and Threads): New
subsection.
* doc/lispref/threads.texi: New file
* doc/lispref/elisp.texi (Top): Include it.
* doc/lispref/objects.texi (Thread Type, Mutex Type)
(Condition Variable Type): New subsections.
(Type Predicates): Add thread-related predicates.
* doc/lispref/objects.texi (Editing Types):
* doc/lispref/elisp.texi (Top): Update higher-level menus.

* etc/NEWS: Mention concurrency features.
2016-12-10 18:54:43 +02:00
Glenn Morris
e63c489dd4 Minor fix for symbol-file
* lisp/subr.el (symbol-file): Avoid false matches with "require"
elements in load-history.  (Bug#25109)
2016-12-07 23:18:36 -08:00
Eli Zaretskii
de4624c99e Merge branch 'concurrency'
Conflicts (resolved):
	configure.ac
	src/Makefile.in
	src/alloc.c
	src/bytecode.c
	src/emacs.c
	src/eval.c
	src/lisp.h
	src/process.c
	src/regex.c
	src/regex.h
2016-12-04 19:59:17 +02:00
Thierry Volpiatto
43ec6efa2b Reuse already existing lisp symbols for ignore_event (bug#19547).
* lisp/subr.el (while-no-input-ignore-events): Use them instead.
* src/keyboard.c (kbd_buffer_store_buffered_event):
Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
and make-frame-visible for DEICONIFY_EVENT.
(syms_of_keyboard): Remove unneeded symbols.
2016-11-28 06:59:49 +01:00
Thierry Volpiatto
d9dd884c7c Allow configuring which event throw-on-input should ignore (bug#19547).
* src/keyboard.c (kbd_buffer_store_buffered_event):
Translate event to corresponding symbol from `while-no-input-ignore-events`
and check them with Fmemq.
(syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
and its symbols.

* lisp/subr.el (while-no-input-ignore-events): Add default values.

* doc/lispref/commands.texi (Event Input Misc):
Document while-no-input-ignore-events.
* etc/NEWS: Same.
2016-11-27 21:48:07 +01:00
Glenn Morris
67df076793 ; Replace "25.2" with "26.1" where appropriate, which is almost everywhere
Ref:
http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00692.html
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01215.html
2016-11-17 22:50:40 -08:00
Mark Oteiza
73d47d2219 Remove obsolete default-FOO variables
* etc/NEWS: Indicate the removed variables.
* lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
* lisp/subr.el (default-mode-line-format, default-header-line-format):
(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
(default-truncate-lines, default-left-margin, default-tab-width):
(default-case-fold-search, default-left-margin-width):
(default-right-margin-width, default-left-fringe-width):
(default-right-fringe-width, default-fringes-outside-margins):
(default-scroll-bar-width, default-vertical-scroll-bar):
(default-indicate-empty-lines, default-indicate-buffer-boundaries):
(default-fringe-indicator-alist, default-fringe-cursor-alist):
(default-scroll-up-aggressively, default-scroll-down-aggressively):
(default-fill-column, default-cursor-type):
(default-cursor-in-non-selected-windows):
(default-buffer-file-coding-system, default-major-mode):
(default-enable-multibyte-characters): Remove obsolete declarations.
* src/buffer.c (default-mode-line-format, default-header-line-format):
(default-line-spacing, default-abbrev-mode, default-ctl-arrow):
(default-truncate-lines, default-left-margin, default-tab-width):
(default-case-fold-search, default-left-margin-width):
(default-right-margin-width, default-left-fringe-width):
(default-right-fringe-width, default-fringes-outside-margins):
(default-scroll-bar-width, default-vertical-scroll-bar):
(default-indicate-empty-lines, default-indicate-buffer-boundaries):
(default-fringe-indicator-alist, default-fringe-cursor-alist):
(default-scroll-up-aggressively, default-scroll-down-aggressively):
(default-fill-column, default-cursor-type):
(default-cursor-in-non-selected-windows):
(default-buffer-file-coding-system, default-major-mode):
(default-enable-multibyte-characters): Remove.
* src/fileio.c (choose_write_coding_system): Fix comment.
* src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
2016-11-07 21:40:05 -05:00
Mark Oteiza
949144c279 Remove some subr.el functions obsoleted in 22.1
* etc/NEWS: Document removed functions.  Also mention the "face"
variables that have been removed recently.
* lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
(eval-current-buffer, string-to-int, insert-string, makehash): Remove.
2016-11-06 11:53:47 -05:00
Johan Bockgård
de75a1154e * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876) 2016-11-05 16:36:12 +01:00
Paul Eggert
ae0a1a890e Merge from origin/emacs-25
acae275 ; Spelling fixes
d8fac73 Update README for precompiled windows Emacs.
23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
f708cb2 Clarify doc string of 'transpose-sexps'
cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
bdc89eb Improve documentation of 'font-lock-remove-keywords'
4a0c590 Fix documentation of the command summary key
0221b7a Mark relocation workarounds with REL_ALLOC
2016-11-04 15:02:03 -07:00
Paul Eggert
6a20bd3579 Merge from origin/emacs-25
dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
9c247d2 Update category-table for Chinese characters
43986d1 Inhibit buffer relocation during regex searches
fee4cef Revert fixes to allocation of regex matching
2016-11-04 15:01:17 -07:00
Paul Eggert
acae275b27 ; Spelling fixes 2016-11-04 14:50:59 -07:00
Stefan Monnier
9c1cb8d595 * lisp/subr.el (set-transient-map): Exit for unbound events (bug#24755). 2016-10-26 15:29:02 -04:00
Paul Eggert
6df147c61a Merge from origin/emacs-25
8ad0d7d ; Fix quoting in etc/NEWS
6b9dee1 Change Tramp version to "2.2.13.25.2"
62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
b2f32e4 Don't scan compiled module files for autoloads
9a758b4 Fix Bug#24698
baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
12da149 Update URL of MS-Windows optional DLLs
2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...

# Conflicts:
#	doc/misc/trampver.texi
#	etc/NEWS
#	lisp/net/tramp-sh.el
#	lisp/net/trampver.el
2016-10-23 02:48:50 -07:00
Eli Zaretskii
baa8ba4ed4 * lisp/subr.el (start-process): Doc fix. (Bug#24693) 2016-10-18 09:24:05 +03:00
Paul Eggert
97046e811c Merge from origin/emacs-25
4b347fe Clarify that doc fixes are okay in feature freeze
01669ad Avoid crashes when setting the cursor
f2144ee Restore 'command-debug-status' functionality
ec6e4b9 ; Minor addition to CONTRIBUTE
2016-10-10 07:35:32 -07:00
Philippe Vaucher
f2144eef19 Restore 'command-debug-status' functionality
* src/callint.c (Fcall_interactively): Bind command-debug-status
to nil.  This restores functionality inadvertently removed in
Emacs 25.1.  (Bug#24555)

* lisp/subr.el (command-debug-status): Declare obsolete.

* doc/lispref/debugging.texi (Internals of Debugger): Document
that 'command-debug-status' is obsolete.
2016-10-04 17:34:51 +03:00
Karl Fogel
e1b2918c7c Document yank behavior in the right place
* lisp/simple.el (yank): Document the handling of the
`yank-handled-properties' and `yank-excluded-properties' variables,
and the `yank-handler' text property.
(yank-pop): Refer to `yank' now (bug#286)

* lisp/subr.el (insert-for-yank): Refer to `yank' now.
(insert-for-yank-1): Refer to `insert-for-yank' now.

See this thread for discussion:

  https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
  From: Karl Fogel
  To: Emacs Devel
  Subject: Question about intended behavior of 'insert-for-yank-1'.
  Date: Mon, 12 Sep 2016 00:17:14 -0500
  Message-ID: <874m5lr92d.fsf@red-bean.com>
2016-10-03 14:13:43 -05:00
Karl Fogel
8cd975cebd Document yank behavior in the right place
* lisp/simple.el (yank): Document the handling of the
`yank-handled-properties' and `yank-excluded-properties' variables,
and the `yank-handler' text property.
(yank-pop): Refer to `yank' now (bug#286)

* lisp/subr.el (insert-for-yank): Refer to `yank' now.
(insert-for-yank-1): Refer to `insert-for-yank' now.

See this thread for discussion:

  https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
  From: Karl Fogel
  To: Emacs Devel
  Subject: Question about intended behavior of 'insert-for-yank-1'.
  Date: Mon, 12 Sep 2016 00:17:14 -0500
  Message-ID: <874m5lr92d.fsf@red-bean.com>
2016-10-02 19:47:27 -05:00
Philipp Stephani
7edaa77c5e Stop calling ‘byte-compile-log-warning’
For errors, use ‘byte-compile-report-error’ instead so that the error
is registered and causes compilation to fail (Bug#24359).

For warnings, use ‘byte-compile-warn’ instead so that
‘byte-compile-error-on-warn’ is honored (Bug#24360).

* lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
(macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
‘byte-compile-log-warning’.

* lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
(byte-compile-setq, byte-compile-funcall): Use
‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
(byte-compile-log-warning): Convert comment to documentation
string.  Explain that the function shouldn’t be called directly.
(byte-compile-report-error): Add optional FILL argument.

* lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
(cconv--analyze-function, cconv-analyze-form): Use
‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.

* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.

* lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
of ‘byte-compile-log-warning’.
(do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
‘byte-compile-log-warning’.
2016-09-11 18:12:33 +02:00
Tino Calancha
5e84dcefb4 call-shell-region: New defun
Suggested by Stefan Monnier in Bug#22679.
* lisp/subr.el (call-shell-region): New defun; execute a command
in an inferior shell with the buffer region as input.
* lisp/simple.el (shell-command-on-region): Use it.
* lisp/gnus/message.el (message-do-fcc): Idem.
* doc/lispref/processes.texi: Document call-shell-region in the manual.
;* etc/NEWS: Add entry for this new function.
2016-08-25 22:17:56 +09:00
Paul Eggert
1a86b5d607 Merge from origin/emacs-25
d4c6774 Fix missing point information in undo
3a9d629 Avoid crashes when buffer modification hooks clobber match data
178b2f5 Note combine-and-quote-strings doesn't shell quote
dec7567 Explain when package-initialize isn't called
113d1e2 Fix escaping in sh-indent-after-continuation docstr
80e2044 ; * etc/NEWS: Improve previous change.
5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
38f4b8e Clarify the documentation of back-references in replacements
2016-08-05 14:07:00 -07:00
Stefan Monnier
847140163a Fix Bug#24149
* lisp/subr.el (set-transient-map): Don't wait if MAP not present in
overriding-terminal-local-map.  (Bug#24149)
2016-08-04 23:42:07 +08:00
Stefan Monnier
682fdae7ef * lisp/subr.el (cancel-change-group): Reset cell in case of error
Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
to make sure we properly undo the temporary change even in case of error.
2016-07-26 13:14:50 -04:00
Lars Ingebrigtsen
ad90397c59 Move read-multiple-choice to subr-x.el
* lisp/faces.el (read-multiple-choice-face): Fix doc string.

* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
from subr.el.

* lisp/gnus/message.el (subr-x): Ditto.

* lisp/net/nsm.el: Require subr-x for read-multiple-choice.

read-multiple-choice doesn't need to be in the dumped Emacs, so move
it to a less central file.
2016-07-22 11:08:21 +02:00
Noam Postavsky
178b2f5909 Note combine-and-quote-strings doesn't shell quote
* doc/lispref/processes.texi (Shell Arguments):
* lisp/subr.el (combine-and-quote-strings): Add a note that
combine-and-quote-strings doesn't protect arguments against shell
evaluation (Bug #20333).
2016-07-03 15:05:20 -04:00
Dmitry Antipov
4bd3503991 Cleanup around mature character manipulation functions
* lisp/international/mule-diag.el (decode-codepage-char): Remove.

* lisp/ldefs-boot.el (toplevel): Adjust accordingly.

* lisp/subr.el (toplevel): Do not advertise calling conventions
for 'decode-char' and 'encode-char'.

* src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
2016-06-30 08:37:46 +03:00
Leo Liu
0214011cc2 Deprecations (bug#23850)
* lisp/subr.el (string-to-unibyte, string-as-unibyte,
string-to-multibyte, string-as-multibyte): Make obsolete.
2016-06-26 09:59:16 +08:00