1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 16:21:07 -08:00
Commit graph

6440 commits

Author SHA1 Message Date
Dmitry Gutov
b520f210b1 * lisp/progmodes/ruby-mode.el (ruby-align-to-stmt-keywords): New
option. 
(ruby-smie--indent-to-stmt-p): Use it.
(ruby-smie-rules): Revert the logic in the handling of `when'.
Expand the `begin' clause to handle `ruby-align-to-stmt-keywords'.
(ruby-deep-arglist, ruby-deep-indent-paren)
(ruby-deep-indent-paren-style): Update docstrings to note that the
vars don't have any effect with SMIE.

* test/automated/ruby-mode-tests.el: Add tests for
`ruby-align-to-stmt-keywords'.

* test/indent/ruby.rb: Update examples to reflect the lack of change in
default indentation of `begin' blocks.

Fixes: debbugs:16182
2013-12-20 07:20:33 +02:00
Juri Linkov
b41594fd4d * lisp/simple.el (eval-expression-print-format): Don't check for
command names and the last command.  Always display additional
formats of the integer result in the echo area, and insert them
to the current buffer only with a zero prefix arg.
Display character when char-displayable-p is non-nil.
(eval-expression): With a zero prefix arg, set `print-length' and
`print-level' to nil, and insert the integer values from
`eval-expression-print-format' at the end.  Doc fix. 

* lisp/emacs-lisp/lisp-mode.el (eval-print-last-sexp): Add arg
`eval-last-sexp-arg-internal'.  Doc fix.
(eval-last-sexp-1): Pass arg `eval-last-sexp-arg-internal' to
`eval-last-sexp-print-value'.  Doc fix.
(eval-last-sexp-print-value): Add arg `eval-last-sexp-arg-internal'.
Set `print-length' and `print-level' to nil when arg is zero.
(eval-last-sexp): Doc fix.
(eval-defun-2): Print the integer values from
`eval-expression-print-format' at the end.

* lisp/emacs-lisp/edebug.el (edebug-eval-defun): Print the integer
values from `eval-expression-print-format' at the end.

* lisp/ielm.el (ielm-eval-input): Print the integer
values from `eval-expression-print-format' at the end.

Fixes: debbugs:12985
2013-12-19 23:02:46 +02:00
Juri Linkov
3ee4cd6482 query-replace backward
* lisp/replace.el (query-replace-read-args): Split a non-negative arg
and a negative arg into separate elements.
(query-replace, query-replace-regexp, replace-string)
(replace-regexp): Add arg `backward'.  Doc fix.
(replace-match-maybe-edit): When new arg `backward' is non-nil,
move point to the beginning of the match.
(replace-search, replace-highlight): Use new arg `backward'
to set the value of `isearch-forward'.
(perform-replace): Add arg `backward' and use it to perform
replacement backward. 

* lisp/isearch.el (isearch-query-replace): Use a negative prefix arg
to call `perform-replace' with a non-nil arg `backward'.

Fixes: debbugs:14979
2013-12-19 02:29:41 +02:00
Glenn Morris
1f41ee56ac Add load-prefer-newer option, to load .el if newer than .elc
* src/lread.c (Fload): Pass load_prefer_newer to openp.
Don't bother checking mtime if openp already did it.
(openp): Add `newer' argument, to check all suffixes
and find the newest file.
(syms_of_lread) <load_prefer_newer>: New option. 

* src/callproc.c (call_process):
* src/charset.c (load_charset_map_from_file):
* src/emacs.c (init_cmdargs):
* src/image.c (x_create_bitmap_from_file, x_find_image_file):
* src/lisp.h (openp):
* lread.c (Flocate_file_internal):
* src/process.c (Fformat_network_address):
* src/sound.c (Fplay_sound_internal):
* src/w32.c (check_windows_init_file):
* src/w32proc.c (sys_spawnve): Update for new arg spec of openp.

* lisp/Makefile.in (BYTE_COMPILE_FLAGS): Set load-prefer-newer to t.

* etc/NEWS: Mention this.

Fixes: debbugs:2061
2013-12-17 19:21:48 -08:00
Juri Linkov
6c8e0ae69b * lisp/desktop.el (desktop-auto-save-timeout): Change default to
`auto-save-timeout'.  Doc fix.
(desktop-save): Skip the timestamp in desktop-saved-frameset
when checking for auto-save changes.
(desktop-auto-save): Don't call desktop-auto-save-set-timer since
`desktop-auto-save' is called repeatedly by the idle timer.
(desktop-auto-save-set-timer): Replace `run-with-timer' with
`run-with-idle-timer' and a non-nil arg REPEAT.  Doc fix.

Fixes: debbugs:15331
2013-12-16 23:48:51 +02:00
Stefan Monnier
2013a2f955 * lisp/emulation/cua-rect.el (cua-rectangle-mark-mode): New minor mode.
(cua--deactivate-rectangle): Don't deactivate the mark.
(cua-set-rectangle-mark): Don't set mark-active since
cua--activate-rectangle already does it for us.
(cua--rectangle-highlight-for-redisplay): Unhighlight a previous
non-rectangular region.

* lisp/emulation/cua-base.el (cua-repeat-replace-region):
Use with-current-buffer.

* lisp/net/gnutls.el: Use cl-lib.
(gnutls-negotiate): `mapcan' -> cl-mapcan.
2013-12-15 21:24:08 -05:00
David Engster
fa5265fc99 * etc/NEWS: Add sections for CEDET and EIEIO. 2013-12-13 22:41:35 +01:00
Glenn Morris
06a4f1102f Unconditionally reset load-path after dumping
* src/lread.c: (dump_path): Remove.
(load-path-default): Remove `changed' argument.
Do not set dump_path permanently.  Simplify.
(init_lread): Simplify.
(syms_of_lread): Remove dump_path.

* lisp/loadup.el (load-path): Warn if site-load or site-init changes it.
No more need to reset it when bootstrapping.

* doc/lispref/internals.texi (Building Emacs):
* doc/lispref/loading.texi (Library Search): Mention that site-load,
site-init cannot change load-path.

* INSTALL: No longer mention load-path and site-init/site-load.

* etc/NEWS: Mention this.

Fixes: debbugs:16107
2013-12-13 13:25:30 -05:00
Eli Zaretskii
01633a17e7 Support MS-Windows file names that use characters outside of ANSI codepage.
src/w32.c (get_file_security, set_file_security)
 (create_symbolic_link): Separate pointers and boolean flags for
 ANSI and Unicode APIs.  Use the latter if w32_unicode_filenames is
 non-zero, else the former.
 (codepage_for_filenames, filename_to_utf16, )
 (filename_from_utf16, filename_to_ansi, filename_from_ansi): New
 functions.
 (init_user_info): Allow $HOME and $SHELL to include non-ANSI
 characters.
 (normalize_filename): Lose the DBCS code, now works on UTF-8.
 Accept only one argument; all callers changed.
 (dostounix_filename): Remove the second argument, now works in
 UTF-8.  All callers changed.
 (parse_root): Lose DBCS code.
 (get_long_basename, w32_get_short_filename, init_environment)
 (GetCachedVolumeInformation, sys_readdir, open_unc_volume)
 (read_unc_volume, logon_network_drive, faccessat, sys_chdir)
 (sys_chmod, sys_creat, sys_fopen, sys_link, sys_mkdir, sys_open)
 (sys_rename_replace, sys_rmdir, sys_unlink, stat_worker, utime)
 (is_symlink, readlink, chase_symlinks, w32_delayed_load): Work in
 Unicode mode if w32_unicode_filenames is non-zero, in ANSI mode
 otherwise.
 (ansi_encode_filename): New function.
 (get_emacs_configuration, get_emacs_configuration_options):
 Functions deleted.
 (add_volume_info, GetCachedVolumeInformation): Run the input file
 name through unixtodos_filename, to ensure it is stored and
 referenced in canonical form.
 (get_volume_info): Lose the DBCS code, now works in UTF-8.
 (logon_network_drive, sys_link, utime): Improve error handling.
 (sys_access): New function.
 (hashval, generate_inode_val): Unused functions deleted.
 (symlink, readlink, readlinkat): Lose DBCS code, now works in UTF-8.
 (check_windows_init_file): Convert error message from UTF-8 to
 ANSI codepage, for display in the message box.
 (globals_of_w32): Set w32_unicode_filenames according to the OS
 version.
 src/w32term.c (construct_drag_n_drop): Work in Unicode mode when
 w32_unicode_filenames is non-zero, ANSI mode otherwise.
 (syms_of_w32term): Declare w32-unicode-filenames.
 src/w32proc.c (new_child, delete_child): Remove code that handled
 unused pending_deletion and input_file members of the child struct.
 (create_child, sys_spawnve): Convert all file names to ANSI
 codepage.  Use ANSI APIs explicitly; forcibly fail if any file
 name cannot be encoded in ANSI codepage.  Don't use
 unixtodos_filename, mirror slashes by hand.
 (record_infile, record_pending_deletion): Functions deleted.
 (Fw32_short_file_name): Call w32_get_short_filename instead of
 GetShortPathName.
 src/w32notify.c (add_watch): Work in Unicode mode when
 w32_unicode_filenames is non-zero, ANSI mode otherwise.
 (Fw32notify_add_watch): Rewrite to avoid using GetFullPathName;
 instead, do the same with Lisp primitives.
 src/w32fns.c (file_dialog_callback, Fx_file_dialog)
 (Fsystem_move_file_to_trash, Fw32_shell_execute)
 (Ffile_system_info, Fdefault_printer_name): Work in Unicode mode
 when w32_unicode_filenames is non-zero, ANSI mode otherwise.
 (Fw32_shell_execute): Improve error reporting.
 (Fdefault_printer_name): Ifdef away for Cygwin.
 src/w32.h (struct _child_process): Remove input_file and
 pending_deletion members that are no longer used.
 (dostounix_filename, w32_get_short_filename, filename_from_ansi)
 (filename_to_ansi, filename_from_utf16, filename_to_utf16)
 (ansi_encode_filename): New and updated prototypes.
 src/unexw32.c (open_input_file, open_output_file, unexec): Use ANSI
 APIs explicitly.
 (unexec): Don't use dostounix_filename, it expects a file name in
 UTF-8.  Instead, mirror backslashes by hand.  Convert NEW_NAME to
 ANSI encoding.
 src/fileio.c (Ffile_name_directory, file_name_as_directory)
 (directory_file_name, Fexpand_file_name)
 (Fsubstitute_in_file_name) [WINDOWSNT]: Adapt to the change in
 arguments of dostounix_filename.
 (Fexpand_file_name) [WINDOWSNT]: Convert value of $HOME to UTF-8.
 use MAX_UTF8_PATH for size of file-name strings.
 (emacs_readlinkat): Build an explicitly unibyte string for file
 names.
 (syms_of_fileio) <file-name-coding-system>
 default-file-name-coding-system>: Mention MS-Windows peculiarities.
 src/emacs.c (init_cmdargs) [WINDOWSNT]: Convert argv[0] to UTF-8.
 (main) [WINDOWSNT]: Convert the argv[] elements that are files or
 directories to UTF-8.
 (decode_env_path) [WINDOWSNT]: Convert file names taken from the
 environment, and each element of the input PATH, to UTF-8.
 src/dired.c (file_attributes): Use build_unibyte_string explicitly
 to make Lisp strings from user and group names.
 src/coding.h (ENCODE_FILE, DECODE_FILE): Just call encode_file and
 decode_file.
 src/coding.c (decode_file_name, encode_file_name): New functions.
 src/termcap.c (tgetent): Adapt to the change in arguments of
 dostounix_filename.
 src/sysdep.c (sys_subshell) [WINDOWSNT]: Use MAX_UTF8_PATH for file
 names.
 src/msdos.c (dostounix_filename, init_environment): Adapt to the
 change in arguments of dostounix_filename.
 src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
 [WINDOWSNT]: Encode file names passed to the image libraries in
 ANSI codepage.
 src/gnutls.c (Fgnutls_boot): Encode all file names passed to GnuTLS.
 [WINDOWSNT]: Convert file names to the current ANSI codepage.
 src/filelock.c (lock_file) [WINDOWSNT]: Adapt to the change in
 arguments of dostounix_filename.

 nt/inc/ms-w32.h (MAX_UTF8_PATH): New macro.
 (opendir, closedir, readdir, seekdir): Redirect to replacement
 functions.
 nt/inc/dirent.h: Make d_name[] be MAXNAMELEN*4 characters long.

 lisp/term/w32-win.el (w32-handle-dropped-file):
 lisp/startup.el (normal-top-level):
 lisp/net/browse-url.el (browse-url-file-url):
 lisp/dnd.el (dnd-get-local-file-name): On MS-Windows, encode and
 decode file names using 'utf-8' rather than
 file-name-coding-system.

 doc/emacs/mule.texi (File Name Coding): Document file-name encoding
 peculiarities on MS-Windows.

 doc/lispref/nonascii.texi (Encoding and I/O): Document file-name encoding
 peculiarities on MS-Windows.

 etc/NEWS: Mention support on MS-Windows of file names outside of the
 current locale.

Fixes: debbugs:7100
2013-12-12 20:19:10 +02:00
Juri Linkov
d5ccb7be02 * lisp/uniquify.el (uniquify-buffer-name-style): Change default to `post-forward-angle-brackets'.
* lisp/menu-bar.el (menu-bar-options-menu): Don't require preloaded `uniquify'.
Change default to `post-forward-angle-brackets'.

http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00317.html
2013-12-12 02:42:16 +02:00
Eli Zaretskii
a34a8cd1e4 Merge from trunk. 2013-12-11 19:06:29 +02:00
Stefan Monnier
7ae3ae3963 * lisp/emacs-lisp/smie.el (smie-indent--hanging-p): Don't bother matching
comment-start-skip, since it fails when that uses submatch 1.

Fixes: debbugs:16041
2013-12-11 10:59:27 -05:00
Stefan Monnier
4b72c12bf8 * lisp/delsel.el (delete-selection-mode): Don't enable transient-mark-mode.
(delete-selection-helper): Make sure yank starts at the top of the
deleted region.
(minibuffer-keyboard-quit): Use region-active-p.
2013-12-11 09:42:34 -05:00
Eli Zaretskii
cc24ef09f8 Merge from trunk. 2013-12-09 19:20:34 +02:00
Dmitry Gutov
47e59c666a Port indentation code from js2-mode to js-mode
* lisp/progmodes/js.el (js-auto-indent-flag): Remove, was unused.
(js-switch-indent-offset): New option.
(js--proper-indentation): Use it.  And handle the case when
"default" is actually a key in an object literal.
(js--same-line): New function.
(js--multi-line-declaration-indentation): Use it.
(js--indent-in-array-comp, js--array-comp-indentation): New
functions.
(js--proper-indentation): Use them, to handle array comprehension
continuations.
2013-12-08 18:08:45 +02:00
Eli Zaretskii
ce1d7b61f1 Merge from trunk. 2013-12-07 19:21:57 +02:00
Eli Zaretskii
7df14908a3 Updated documentation. 2013-12-07 18:51:33 +02:00
Glenn Morris
652b969ea1 NEWS trivia 2013-12-06 09:31:42 -05:00
Bastien Guerry
73d3db828e Merge Org 8.2.4 2013-12-06 12:21:31 +01:00
Juri Linkov
9139632a34 * lisp/window.el (display-buffer-no-window): New action function.
(display-buffer-alist, display-buffer): Doc fix.  (Bug#13594)

* lisp/simple.el (shell-command): Add window alist entry `allow-no-window'
to `display-buffer'.
(async-shell-command): Doc fix.

* lisp/progmodes/compile.el (compilation-start): Rename window alist
entry `no-display-ok' to `allow-no-window'.

* doc/lispref/windows.texi (Choosing Window): Rename `no-display-ok' to
`allow-no-window'.
2013-12-03 03:19:24 +02:00
Helmut Eller
f345395c71 * lisp/emacs-lisp/debug.el (debugger-toggle-locals): New command.
(debugger-mode-map): Bind it.
(debugger--backtrace-base): New function.
(debugger-eval-expression): Use it.
(debugger-frame-number): Skip local vars when present.
(debugger--locals-visible-p, debugger--insert-locals)
(debugger--show-locals, debugger--hide-locals): New functions.
* src/eval.c (Fbacktrace__locals): New function.
(syms_of_eval): Defsubr it.
2013-12-02 09:45:22 -05:00
Stefan Monnier
4e36a6a6e2 * lisp/loadup.el: Preload "uniquify".
* lisp/uniquify.el (uniquify-buffer-name-style): Change default.
* src/lisp.mk (lisp): Add uniquify.elc.
2013-11-29 13:36:31 -05:00
Stefan Monnier
da04812763 * lisp/electric.el (electric-indent-mode): Enable by default.
* lisp/loadup.el: Preload "electric".
* src/lisp.mk (lisp): Add electric.elc.
2013-11-29 12:59:38 -05:00
Bozhidar Batsov
015b3b3e8e * lisp/emacs-lisp/helpers.el (string-empty-p): New function.
(string-blank-p): New function
2013-11-29 18:51:44 +02:00
Paul Eggert
48a2a0b490 Spelling fixes. 2013-11-26 12:22:17 -08:00
Bozhidar Batsov
447bdcb8d2 * lisp/emacs-lisp/helpers.el (string-reverse): New function. 2013-11-26 17:24:10 +02:00
Bozhidar Batsov
1ecfd96e0f Mention some of the noteworthy changes in ruby-mode 2013-11-26 12:21:03 +02:00
Bozhidar Batsov
4301875e6e * lisp/emacs-lisp/helpers.el (string-join): New function. 2013-11-25 21:04:50 +02:00
Bozhidar Batsov
2bb3a748b3 * lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Mark as obsolete and replace it with a symbol property.
(byte-compile-form): Use new 'interactive-only property.
* lisp/comint.el, lisp/files.el, lisp/replace.el, lisp/simple.el:
Apply new 'interactive-only properly.
2013-11-25 19:16:32 +02:00
Dmitry Gutov
ee4f026188 * lisp/imenu.el (imenu-generic-skip-comments-and-strings):
New option.
(imenu--generic-function): Use it.

Fixes: debbugs:15560
2013-11-24 23:23:47 +02:00
Stefan Monnier
740bcff0c1 Export get_pos_property to Elisp.
* src/editfns.c (Fget_pos_property): Rename from get_pos_property.
(syms_of_editfns): Export it to Elisp.
2013-11-24 13:28:33 -05:00
Bozhidar Batsov
b55aea382c * lisp/emacs-lisp/helpers.el: Add some string helpers.
(string-trim-left): Removes leading whitespace.
(string-trim-right): Removes trailing whitespace.
(string-trim): Removes leading and trailing whitespace.
2013-11-24 11:31:51 +02:00
Bozhidar Batsov
41ce6f7027 * lisp/subr.el (string-suffix-p): New function. 2013-11-24 10:49:44 +02:00
Brian Jenkins
f6083c67c5 Documentation for focus-in,out hooks (tiny change)
* doc/lispref/frames.texi (Input Focus):
* doc/lispref/hooks.texi (Standard Hooks):
Mention focus-in-hook, focus-out-hook.

* etc/NEWS: Copyedit.
2013-11-23 11:07:34 -08:00
Xue Fuqiao
a594a11662 Tweak previous change. 2013-11-23 22:32:56 +08:00
Xue Fuqiao
4899e078ee * etc/TODO: Minor update. 2013-11-23 22:19:32 +08:00
Glenn Morris
92f78ea3d1 * etc/enriched.txt: Rename from enriched.doc.
Misc small updates for this hardly being "new" any more.

* lisp/textmodes/enriched.el (enriched-mode): Doc fix.

* lisp/emacs-lisp/authors.el (authors-renamed-files-alist):
Add enriched.doc -> enriched.txt.

Fixes: debbugs:15947
2013-11-22 18:21:51 -08:00
Glenn Morris
17e0445be4 Empty elements in EMACSLOADPATH now stand for the default
* src/lread.c (load_path_check): Take path to check as argument.
(load_path_default): New, split from init_lread.
(init_lread): Move calc of default load-path to load_path_default.
Empty elements in EMACSLOADPATH now stand for the default.
(load-path): Doc fix.

* src/emacs.c (decode_env_path): Add option to treat empty elements
as nil rather than ".".

* src/callproc.c (init_callproc_1, init_callproc):
* src/image.c (Vx_bitmap_file_path):
* src/lisp.h (decode_env_path):
* lread.c (Vsource_directory):
Update for new argument spec of decode_env_path.

* leim/Makefile.in (RUN_EMACS): Empty EMACSLOADPATH rather than unsetting.

* lisp/Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting.

* test/automated/Makefile.in (emacs):
Empty EMACSLOADPATH rather than unsetting.

* doc/emacs/cmdargs.texi (General Variables):
Empty elements in EMACSLOADPATH now mean the default load-path.

* doc/lispref/loading.texi (Library Search):
Empty elements in EMACSLOADPATH now mean the default load-path.

* etc/NEWS: Mention this.

Fixes: debbugs:12100
2013-11-22 17:55:16 -08:00
Eli Zaretskii
2e8245cec1 Correct an utdated reference to M-g in enriched.doc. 2013-11-21 21:22:42 +02:00
Glenn Morris
2df102287e Use path-separator with -L, rather than just :
* lisp/startup.el (command-line-1): Use path-separator with -L.

* test/automated/Makefile.in (PATH_SEPARATOR): New, set by configure.
(EMACSOPT): Use PATH_SEPARATOR.

* doc/emacs/cmdargs.texi (Action Arguments): Use path-separator with -L.

* etc/NEWS: Related edit.
2013-11-20 19:21:50 -05:00
Leo Liu
f0cfa5feab * doc/lispref/windows.texi (Choosing Window): Mention `no-display-ok'.
* etc/NEWS: Mention new display action alist entry `no-display-ok'.
(Bug#13594)

* lisp/window.el (display-buffer-alist): Doc fix.  (Bug#13594)
2013-11-20 10:44:38 +08:00
Glenn Morris
f88ac3bb91 * etc/NEWS: Placeholder. 2013-11-18 21:26:34 -05:00
Paul Eggert
ec2c4ee6d2 Improve API of recently-added bool vector functions.
The old API had (bool-vector-count-matches A B)
and (bool-vector-count-matches-at A B I), which gave the
misleading impression that the two functions were variants, one
with a location I.  The new API has (bool-vector-count-population A)
and (bool-vector-count-consecutive A B I) to make the distinction
clearer.  The first function no longer has a B argument, since the
caller can easily determine the number of nils if the length and
number of ts is known.
* src/data.c (Fbool_vector_count_population): Rename from
bool_vector_count_matches, and accept just 1 argument.
(Fbool_vector_count_consecutive): Rename from
Fbool_vector_count_matches_at.
* test/automated/data-tests.el: Adjust to API changes.

Fixes: debbugs:15912
2013-11-18 10:56:42 -08:00
Leo Liu
f2cbfd4442 * NEWS: Mention new features for Octave mode. 2013-11-18 10:27:12 +08:00
Glenn Morris
1bf65cadc7 * etc/TODO: Addition. 2013-11-17 11:34:36 -08:00
Paul Eggert
d138982874 Spelling fixes.
* lisp/org/ob-python.el (org-babel-python-with-earmuffs):
Rename from org-babel-python-with-earmufs.  All uses changed.
(org-babel-python-without-earmuffs):
Rename from org-babel-python-without-earmufs.  All uses changed.
2013-11-16 23:51:24 -08:00
Bastien Guerry
271672fad7 Merge Org version 8.2.3a. 2013-11-12 14:06:26 +01:00
Stefan Monnier
7818df11b8 * lisp/bindings.el (ctl-x-map): Bind C-x SPC to rectangle-mark-mode.
* src/keyboard.c (command_loop_1): Use region-extract-function.
* src/insdel.c (Qregion_extract_function): Not static any more (can we
stop pretending that these vars can benefit from being marked static?).
2013-11-11 00:18:53 -05:00
Stefan Monnier
122a7e463a * lisp/iswitchb.el (iswitchb-mode): Mark obsolete. 2013-11-10 23:50:56 -05:00
Paul Eggert
a67c4ae059 Spelling fixes. 2013-11-04 23:44:14 -08:00