Commit graph

1278 commits

Author SHA1 Message Date
Michael Albinus
c0ada75921 Hide password in batch mode
* doc/lispref/minibuf.texi (Intro to Minibuffers, Reading a Password):
Password hiding is available in batch mode, do not mention it in
the exclusion list.  Mention `read-hide-char'. 

* lisp/subr.el (read-passwd): Use `read-hide-char' if non-nil.  Bind it
when calling `read-string'.

* src/minibuf.c (top): Include systty.h.  Declare external
emacs_get_tty and emacs_set_tty.
(Vread_hide_char): New lisp variable.
(read_minibuf_noninteractive): Hide characters with
Vread_hide_char if it is a character.

* src/sysdep.c (emacs_get_tty, emacs_set_tty): Make them externally visible.

Fixes: debbugs:17839
2014-07-11 11:09:54 +02:00
Glenn Morris
e0d9c3c9a2 Merge from emacs-24; up to 2014-06-12T14:55:48Z!monnier@iro.umontreal.ca 2014-06-28 10:27:29 -07:00
Glenn Morris
64c3533166 Warn about read-passwd in batch mode
* doc/lispref/minibuf.texi (Intro to Minibuffers): Batch mode is basic.
(Reading a Password): Mention batch mode. 

* lisp/subr.el (read-passwd): Warn about batch mode.

Fixes: debbugs:17839
2014-06-26 15:00:42 -04:00
Dmitry Antipov
5697ca55cb Do not allow out-of-range character position in Fcompare_strings.
* src/fns.c (validate_subarray): Add prototype.
(Fcompare_substring): Use validate_subarray to check ranges.
Adjust comment to mention that the semantics was changed.  Also see
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00447.html.
* lisp/files.el (dir-locals-find-file, file-relative-name):
* lisp/info.el (Info-complete-menu-item):
* lisp/minibuffer.el (completion-table-subvert): Prefer string-prefix-p
to compare-strings to avoid out-of-range errors.
* lisp/subr.el (string-prefix-p): Adjust to match strict range
checking in compare-strings.
* test/automated/fns-tests.el (fns-tests-compare-string): New test.
2014-06-25 14:36:51 +04:00
Glenn Morris
90de50e270 Merge from emacs-24; up to 2014-06-03T06:51:18Z!eliz@gnu.org 2014-06-14 17:06:30 -07:00
Eli Zaretskii
859488bf22 Fix documentation mentioned in bug #17768.
lisp/subr.el (posn-col-row): Doc fix.

 doc/lispref/commands.texi (Accessing Mouse): Improve the wording of the
 posn-col-row documentation.
2014-06-14 19:37:15 +03:00
Glenn Morris
953e106ac8 Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru 2014-06-01 17:18:22 -07:00
Stefan Monnier
8889b935d1 * lisp/subr.el (set-transient-map): Don't wait for some "nested"
transient-map to finish if we're only supposed to be active for
the next command.

Fixes: debbugs:17642
2014-05-31 16:02:47 -04:00
Stefan Monnier
b701ac4945 * lisp/subr.el (sit-for): Add comment with a short history. 2014-05-30 22:13:13 -04:00
Stefan Monnier
2f8165f415 * lisp/subr.el (sit-for): Don't run input-methods.
Fixes: debbugs:15614
2014-05-29 12:38:01 -04:00
Stefan Monnier
d41708691f * lisp/subr.el (sit-for): Remove universal-arg dependency. 2014-05-29 11:36:09 -04:00
Glenn Morris
6c2038223b * lisp/subr.el (zerop): Move later so bootstrap works. 2014-05-27 23:51:36 -07:00
Stefan Monnier
4c539a7b38 * lisp/subr.el (zerop): Move from C. Add compiler-macro.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-zerop): Remove.
* src/data.c (Fzerop): Move to Elisp.
(syms_of_data): Don't defsubr it.
* src/keyboard.c (echo_keystrokes_p): New function.
(read_char, record_menu_key, read_key_sequence): Use it.

Fixes: debbugs:17475
2014-05-27 20:50:44 -04:00
Stefan Monnier
0e4857b7d8 * src/callint.c (Ffuncall_interactively): New function.
(Qfuncall_interactively): New var.
(Qcall_interactively): Remove.
(Fcall_interactively): Use it.
(syms_of_callint): Defsubr it.
* lisp/subr.el (internal--funcall-interactively): New.
(internal--call-interactively): Remove.
(called-interactively-p): Detect funcall-interactively instead of
call-interactively.
* lisp/simple.el (repeat-complex-command): Use funcall-interactively.
(repeat-complex-command--called-interactively-skip): Remove.
2014-05-27 20:09:14 -04:00
Glenn Morris
d63d883a97 Add with-file-modes macro, and use it
* lisp/subr.el (with-file-modes): New macro.

* lisp/printing.el (pr-save-file-modes):
* lisp/eshell/esh-util.el (eshell-with-file-modes): Make obsolete.

* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Add with-file-modes.

* lisp/doc-view.el (doc-view-make-safe-dir):
* lisp/epg.el (epg--start):
* lisp/files.el (locate-user-emacs-file, make-temp-file)
(backup-buffer-copy, move-file-to-trash):
* printing.el (pr-despool-print, pr-call-process, pr-text2ps):
* eshell/esh-util.el (eshell-with-private-file-modes)
(eshell-make-private-directory):
* lisp/net/browse-url.el (browse-url-mosaic):
* lisp/obsolete/mailpost.el (post-mail-send-it):
* lisp/obsolete/pgg-pgp.el (pgg-pgp-verify-region):
* lisp/obsolete/pgg-pgp5.el (pgg-pgp5-verify-region):
* lisp/url/url-util.el (url-make-private-file):
Use with-file-modes.

* doc/lispref/files.texi (Changing Files): Mention with-file-modes.

* etc/NEWS: Mention this.
2014-05-14 10:15:15 -07:00
Stefan Monnier
a3eda656ee * lisp/subr.el (function-put): Add function. 2014-05-09 12:51:17 -04:00
Stefan Monnier
6bc76cee21 * src/insdel.c (prepare_to_modify_buffer_1): Cancel lock-file checks and
region handling (and don't call signal_before_change) if
inhibit_modification_hooks is set.
(signal_before_change): Don't check inhibit_modification_hooks any more.
* lisp/subr.el (with-silent-modifications): Don't bind deactivate-mark,
buffer-file-name, and buffer-file-truename any more.
2014-04-08 21:48:07 -04:00
Daniel Colascione
01ae0fbf30 Add GC bug investigation code 2014-04-02 17:18:08 -07:00
Richard M. Stallman
4fd68bf6cc Revert subr.el workaround for GC bug.
* subr.el (set-transient-map): Comment out previous change.
2014-04-02 13:21:34 -04:00
Glenn Morris
5076d27513 Allow `declare' to set the interactive-only property
* lisp/emacs-lisp/byte-run.el (defun-declarations-alist):
Add interactive-only.  Doc tweak.
(macro-declarations-alist): Doc tweak.

* lisp/subr.el (declare): Doc tweak (add xref to manual).

* lisp/comint.el (comint-run):
* lisp/files.el (insert-file-literally, insert-file):
* lisp/replace.el (replace-string, replace-regexp):
* lisp/simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
(delete-forward-char, goto-line, insert-buffer, next-line)
(previous-line): Set interactive-only via declare.

* doc/lispref/functions.texi (Declare Form): Add interactive-only.

* doc/lispref/commands.texi (Defining Commands) Mention declare.

* etc/NEWS: Mention this.
2014-03-22 15:12:52 -07:00
Richard M. Stallman
16ec0742ff Avoid GC crashes.
* lisp/subr.el (set-transient-map): Clear out function and value
of the temporary symbol when we're done with it.
2014-03-21 19:16:26 -04:00
Glenn Morris
84fc911dcc * lisp/subr.el (with-wrapper-hook): Tweak obsolescence message.
* lisp/simple.el: Remove mistaken FIXME comment.

* etc/NEWS: Markup.
2014-02-28 19:54:47 -08:00
Juanma Barranquero
298520dfb7 lisp/subr.el (y-or-n-p): Fix double space issue in message. 2014-02-27 15:21:28 +01:00
Paul Eggert
2baa4c05af Spelling fixes. 2014-02-12 11:40:35 -08:00
Lars Ingebrigtsen
410155240f * subr.el (event-start): Say what a nil EVENT value means. 2014-02-09 22:56:03 -08:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Lars Ingebrigtsen
d6d5fdf826 Document the event-start' and event-end' functions more completely
* doc/lispref/commands.texi (Accessing Mouse): Mention that these function
also work on keyboard events.

* lisp/subr.el (event-start): Doc fix (bug#14228).
(event-end): Ditto.
2014-02-08 18:13:23 -08:00
Lars Ingebrigtsen
1bde5c3b08 * subr.el (add-to-list): Refill the paragraphs.
Fixes: debbugs:15791
2014-02-07 19:37:57 -08:00
Lars Ingebrigtsen
79278d0313 * subr.el (butlast): Document what an omitted N means.
* subr.el (butlast): Document what an omitted N means.
(nbutlast): Ditto.

Fixes: debbugs:13437
2014-01-31 23:54:29 -08:00
Glenn Morris
1e548e4056 Doc updates for with-demoted-errors
* doc/lispref/control.texi (Handling Errors): Update with-demoted-errors.

* lisp/subr.el (with-demoted-errors): Doc fix.

* etc/NEWS: Related edit.
2014-01-23 20:11:48 -08:00
Glenn Morris
cc0f2ece47 Fix some function declarations
* lisp/calc/calc-embed.el (thing-at-point-looking-at):
* lisp/emacs-lisp/map-ynp.el (x-popup-dialog):
* lisp/obsolete/lmenu.el (x-popup-dialog):
* lisp/emacs-lisp/package.el (url-recreate-url):
* lisp/mail/mailclient.el (clipboard-kill-ring-save):
* lisp/subr.el (x-popup-dialog): Update declaration.

* lisp/mail/rmail.el (rmail-mime-message-p):
* lisp/window.el (tool-bar-lines-needed): Remove unnecessary declaration.
2014-01-21 20:50:40 -05:00
Stefan Monnier
6bdd920482 * lisp/abbrev.el (define-abbrev): Beware new meaning of fboundp.
* lisp/emacs-lisp/elint.el (elint-find-builtins):
* lisp/emacs-lisp/eldoc.el (eldoc-symbol-function):
* lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn)
(byte-compile-file-form-defmumble, byte-compile, byte-compile-form):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
* lisp/apropos.el (apropos-safe-documentation):
* lisp/subr.el (symbol-file): Remove redundant fboundp.
* lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter): Use defalias.
2014-01-06 18:34:05 -05:00
Stefan Monnier
ec00f20f55 * lisp/subr.el (set-transient-map): Fix nested case and docstring. 2014-01-06 14:29:39 -05:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Leo Liu
c8d897786d * subr.el (set-temporary-overlay-map): Obsolete alias.
Fixes: debbugs:16305
2013-12-31 08:27:27 +08:00
Chong Yidong
8cd22a0818 Rename set-temporary-overlay-map -> set-transient-map
* lisp/subr.el (set-transient-map): Rename from
set-temporary-overlay-map.  Doc fix.

* lisp/face-remap.el (text-scale-adjust):
* lisp/indent.el (indent-rigidly):
* lisp/kmacro.el (kmacro-call-macro):
* lisp/minibuffer.el (minibuffer-force-complete):
* lisp/repeat.el (repeat):
* lisp/simple.el (universal-argument--mode):
* lisp/calendar/todo-mode.el (todo-insert-item--next-param):
* lisp/progmodes/f90.el (f90-abbrev-start): Callers changed.

* lisp/org/org.el (orgstruct-make-binding): Call set-transient-map
instead of old name set-temporary-overlay-map.

* doc/lispref/keymaps.texi (Controlling Active Maps): Renamed
set-temporary-overlay-map to set-transient map.  Doc fixes.
(Searching Keymaps): The transient keymap takes precedence.
2013-12-23 11:59:10 +08:00
Juri Linkov
24da72738b * lisp/replace.el (read-regexp-defaults-function): New defcustom.
(read-regexp-suggestions): New function.
(read-regexp): Use `read-regexp-defaults-function' to get default values.
Use `read-regexp-suggestions'.  Add non-empty default to history
for empty input.
(occur-read-regexp-defaults-function): Remove function.
(occur-read-primary-args): Use `regexp-history-last' instead of
`occur-read-regexp-defaults-function'.

* lisp/hi-lock.el (hi-lock-read-regexp-defaults-function): Remove function.
(hi-lock-line-face-buffer, hi-lock-face-buffer)
(hi-lock-face-phrase-buffer): Use `regexp-history-last' instead of
`hi-lock-read-regexp-defaults-function'.  Doc fix.
(hi-lock-face-symbol-at-point): Replace `find-tag-default-as-regexp'
with `find-tag-default-as-symbol-regexp'.  Doc fix.
(hi-lock-read-regexp-defaults): Remove function.
(hi-lock-regexp-okay): Add check for null.

* lisp/progmodes/grep.el (grep-read-regexp): Use `grep-tag-default' for
the arg DEFAULTS.  Move formatting of the prompt to `read-regexp'.

* lisp/subr.el (find-tag-default-as-symbol-regexp): New function.
(find-tag-default-as-regexp): Move symbol regexp formatting to
`find-tag-default-as-symbol-regexp'.

Fixes: debbugs:14405
2013-12-20 21:55:56 +02:00
Leo Liu
d64643b40f * subr.el (read-passwd): Disable show-paren-mode.
Fixes: debbugs:16091
2013-12-09 10:38:42 +08:00
Leo Liu
0518b057fe * subr.el (process-live-p): Return nil for non-process.
* progmodes/sh-script.el (sh-shell-process):
* progmodes/octave.el (inferior-octave-process-live-p):
* progmodes/gdb-mi.el (gdb-delchar-or-quit)
(gdb-inferior-io-sentinel):
* emacs-lock.el (emacs-lock-live-process-p): All uses changed.

Fixes: debbugs:16023
2013-12-02 15:13:01 +08:00
Bozhidar Batsov
41ce6f7027 * lisp/subr.el (string-suffix-p): New function. 2013-11-24 10:49:44 +02:00
Bozhidar Batsov
a3fed6ffab * lisp/subr.el (version-regexp-alist): Fix a typo. 2013-11-15 12:02:13 +02:00
Bozhidar Batsov
0d5363c4cd * lisp/subr.el (version-regexp-alist):
Recognize hg, svn and darcs versions as snapshot versions.
2013-11-14 19:07:03 +02:00
Stefan Monnier
ecda65d4f7 * lisp/subr.el (force-mode-line-update): Delete, move to buffer.c.
* src/buffer.c (Frestore_buffer_modified_p): Sync it with
Fset_buffer_modified_p.
(Fforce_mode_line_update): New function, moved from subr.el.
(Fset_buffer_modified_p): Use them.
(syms_of_buffer): Defsubr Fforce_mode_line_update.
2013-11-11 13:05:47 -05:00
Bozhidar Batsov
46b0a07f2c * lisp/subr.el (version<, version<=, version=):
Update docstrings with information for snapshot versions.
2013-11-04 16:09:36 +02:00
Bozhidar Batsov
684d71c6b4 * subr.el (version-regexp-alist): Add support for snapshot versions. 2013-11-02 11:48:11 +02:00
Stefan Monnier
53b39e8977 * lisp/subr.el (custom-declare-variable-early): Remove function.
(custom-declare-variable-list): Remove var.
(error, user-error): Remove `while' loop.
(read-quoted-char-radix, read-quoted-char): Move to simple.el.
(user-emacs-directory-warning, locate-user-emacs-file):
Move to files.el.
* lisp/simple.el (read-quoted-char-radix, read-quoted-char):
* lisp/files.el (user-emacs-directory-warning, locate-user-emacs-file):
Move from subr.el.
* lisp/custom.el (custom-declare-variable-list): Don't process
custom-declare-variable-list.
2013-10-29 22:14:16 -04:00
Stefan Monnier
4c9797cb77 * src/keyboard.c (command_loop_1): If command is nil, call `undefined'.
* lisp/subr.el (undefined): Add missing behavior from the C code for
unbound keys.
2013-10-29 17:05:35 -04:00
Stefan Monnier
3472b6c682 Add pre-redisplay-function and rectangular region
* lisp/rect.el: Use lexical-binding.  Add new rectangular region support.
(rectangle-mark): New command.
(rectangle--region): New var.
(deactivate-mark-hook): Reset rectangle--region.
(rectangle--extract-region, rectangle--insert-for-yank)
(rectangle--highlight-for-redisplay)
(rectangle--unhighlight-for-redisplay): New functions.
(region-extract-function, redisplay-unhighlight-region-function)
(redisplay-highlight-region-function): Use them to handle
rectangular region.
* lisp/simple.el (region-extract-function): New var.
(delete-backward-char, delete-forward-char, deactivate-mark): Use it.
(kill-new, kill-append): Remove obsolete `yank-handler' argument.
(kill-region): Replace obsolete `yank-handler' arg with `region'.
(copy-region-as-kill, kill-ring-save): Add `region' argument.
(redisplay-unhighlight-region-function)
(redisplay-highlight-region-function): New vars.
(redisplay--update-region-highlight): New function.
(pre-redisplay-function): Use it.
(exchange-point-and-mark): Don't deactivate the mark before
reactivate-it anyway.
* lisp/comint.el (comint-kill-region): Remove yank-handler argument.
* lisp/delsel.el (delete-backward-char, backward-delete-char-untabify)
(delete-char): Remove property, since it's now part of their
default behavior.
(self-insert-iso): Remove property since this command doesn't exist.

* src/xdisp.c (prepare_menu_bars): Call Vpre_redisplay_function.
(syms_of_xdisp): Declare pre-redisplay-function.
(markpos_of_region): Remove function.
(init_iterator, compute_stop_pos, handle_face_prop)
(face_before_or_after_it_pos, reseat_to_string)
(get_next_display_element, window_buffer_changed)
(redisplay_internal, try_cursor_movement, redisplay_window)
(try_window_reusing_current_matrix, try_window_id, display_line)
(note_mode_line_or_margin_highlight, note_mouse_highlight)
(display_string, mouse_face_from_buffer_pos): Remove region handling.
* src/window.h (struct window): Remove field `region_showing'.
* src/dispextern.h (struct it): Remove region_beg/end_charpos.
(face_at_buffer_position, face_for_overlay_string)
(face_at_string_position): Update prototypes.
* src/xfaces.c (face_at_buffer_position, face_for_overlay_string)
(face_at_string_position): Remove `region_beg' and `region_end' args.
* src/fontset.c (Finternal_char_font):
* src/font.c (font_at, font_range): Adjust calls accordingly.
* src/insdel.c (Qregion_extract_function): New var.
(syms_of_insdel): Initialize it.
(prepare_to_modify_buffer_1): Use it.
2013-10-29 12:11:50 -04:00
Stefan Monnier
37241f6206 * lisp/subr.el (add-to-list): Preserve return value in compiler-macro.
Fixes: debbugs:15692
2013-10-24 21:10:27 -04:00
Barry O'Reilly
ef56692035 Don't run timers in input-pending-p. Its new check-timers param
provides the prior behavior..
* src/keyboard.c (Finput_pending_p): Accept optional check-timers
param.
* lisp/subr.el (sit-for): Call (input-pending-p t) so as to behave
as before.
* test/automated/timer-tests.el: New file.  Tests that (sit-for 0)
allows another timer to run.

Fixes: debbugs:15045
2013-10-18 00:27:34 -04:00