aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/dired.el (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix mouse buttons in dired--make-directory-clickableLars Ingebrigtsen2021-10-241-1/+2
| | | | | * lisp/dired.el (dired--make-directory-clickable): Adjust mouse clicks to conform to our standards.
* Make dired directory components clickableWilliam Xu2021-10-241-0/+33
| | | | | | | | | * lisp/dired.el (dired-readin): Use it. * lisp/dired.el (dired-make-directory-clickable): New user option. * lisp/dired.el (dired--make-directory-clickable): New function (bug#21973).
* ; * lisp/dired.el: Fix typo.Stefan Kangas2021-10-051-1/+1
|
* * lisp/dired.el (dired-omit-mode): Declare, to avoid compiler warning.Eli Zaretskii2021-09-301-0/+1
|
* ; More minor stylistic fixes found by checkdocStefan Kangas2021-09-221-3/+2
|
* ; Minor stylistic fixes found by checkdocStefan Kangas2021-09-161-13/+13
|
* Add docstrings to context menu functions, and add middle-separatorJuri Linkov2021-09-151-0/+1
| | | | | | | | | | | | * lisp/mouse.el (context-menu-functions): Add context-menu-middle-separator to default values. (context-menu-middle-separator): New function. * lisp/replace.el (occur-context-menu): Use middle-separator. * lisp/progmodes/elisp-mode.el (elisp-context-menu): * lisp/progmodes/prog-mode.el (prog-context-menu): Use middle-separator and reorder menu items correspondingly.
* * lisp/mouse.el (context-menu-map): Add 'click' arg to called funs (bug#50256)Juri Linkov2021-09-121-2/+2
| | | | | | | | | | | | | (context-menu-toolbar, context-menu-global, context-menu-local) (context-menu-minor, context-menu-buffers, context-menu-vc) (context-menu-undo, context-menu-region, context-menu-ffap): Add 'click' arg. * lisp/dired.el (dired-context-menu): * lisp/help-mode.el (help-mode-context-menu): * lisp/info.el (Info-context-menu): * lisp/net/eww.el (eww-context-menu): * lisp/net/goto-addr.el (goto-address-context-menu): * lisp/progmodes/prog-mode.el (prog-context-menu): Add 'click' arg.
* Make dired-chmod-program obsoleteLars Ingebrigtsen2021-08-261-4/+3
| | | | | | | | * lisp/dired.el (dired-chmod-program): Make into a defvar and make obsolete (bug#50190). * lisp/net/ange-ftp.el (ange-ftp-process-file): Remove usage of dired-chmod-program.
* ; * lisp/dired.el (dired-jump): Doc fix.Eli Zaretskii2021-08-211-4/+3
|
* Clarify dired-jump doc stringLars Ingebrigtsen2021-08-211-1/+8
| | | | | * lisp/dired.el (dired-jump): Make the doc string say what happens in buffers not visiting files (bug#14733).
* Merge branch 'feature/context-menu'Juri Linkov2021-08-171-0/+16
|\
| * Add new context-menu options for menus "File At Point" and "Version Control".Juri Linkov2021-07-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/mouse.el (context-menu-functions): Add more options. (context-menu-global, context-menu-local): Fix separators. (context-menu-minor): Rewrite to support list of submenus. (context-menu-vc, context-menu-ffap): New functions. (context-menu-undo, context-menu-region): Fix separators. * lisp/dired.el (dired-context-menu): * lisp/info.el (Info-context-menu): * lisp/net/goto-addr.el (goto-address-context-menu): * lisp/net/eww.el (eww-context-menu): * lisp/progmodes/prog-mode.el (prog-context-menu): Fix separators.
| * Improve docstring of context-menu-functions and add eww-context-menuJuri Linkov2021-07-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/mouse.el (context-menu-functions): Explain function args in docstring. * lisp/net/eww.el (eww-context-menu): New function. (eww-mode): Add it to context-menu-functions. * lisp/info.el (Info-context-menu): Move history items higher. * lisp/progmodes/prog-mode.el (prog-context-menu): Add menu items in the middle of the menu after the region menu items.
| * Change the order of context-menu-functions and add more context menus.Juri Linkov2021-07-211-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/mouse.el (context-menu-functions): Update default list. (context-menu-overriding-function): Remove variable. (context-menu-map): Reverse the order. (context-menu-global, context-menu-local, context-menu-minor): New functions. (context-menu-undo, context-menu-region): Add separators. Use define-key-after instead of bindings--define-key. (context-menu-entry): New variable. (context-menu-mode): Use it. * lisp/dired.el (dired-context-menu): New function. (dired-mode): Add it to context-menu-functions. * lisp/info.el (Info-context-menu): Reorder. * lisp/net/goto-addr.el (goto-address-at-mouse): Rename from goto-address-at-click. (goto-address-context-menu): Use goto-address-at-mouse. * lisp/progmodes/prog-mode.el (prog-context-menu): New function. (prog-mode): Add it to context-menu-functions.
* | Use string-search instead of string-match[-p]Mattias Engdegård2021-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `string-search` is easier to understand, less error-prone, much faster, does not pollute the regexp cache, and does not mutate global state. Use it where applicable and obviously safe (erring on the conservative side). * admin/authors.el (authors-canonical-file-name) (authors-scan-change-log): * lisp/apropos.el (apropos-command) (apropos-documentation-property, apropos-symbols-internal): * lisp/arc-mode.el (archive-arc-summarize) (archive-zoo-summarize): * lisp/calc/calc-aent.el (math-read-factor): * lisp/calc/calc-ext.el (math-read-big-expr) (math-format-nice-expr, math-format-number-fancy): * lisp/calc/calc-forms.el (math-read-angle-brackets): * lisp/calc/calc-graph.el (calc-graph-set-range): * lisp/calc/calc-keypd.el (calc-keypad-press): * lisp/calc/calc-lang.el (tex, latex, math-read-big-rec): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-user-define-permanent, math-define-exp): * lisp/calc/calc.el (calc-record, calcDigit-key) (calc-count-lines): * lisp/calc/calcalg2.el (calc-solve-for, calc-poly-roots) (math-do-integral): * lisp/calc/calcalg3.el (calc-find-root, calc-find-minimum) (calc-get-fit-variables): * lisp/cedet/ede/speedbar.el (ede-tag-expand): * lisp/cedet/semantic/java.el (semantic-java-expand-tag): * lisp/cedet/semantic/sb.el (semantic-sb-show-extra) (semantic-sb-expand-group): * lisp/cedet/semantic/wisent/python.el (semantic-python-instance-variable-p): * lisp/cus-edit.el (get): * lisp/descr-text.el (describe-text-sexp): * lisp/dired-aux.el (dired-compress-file): * lisp/dired-x.el (dired-make-relative-symlink): * lisp/dired.el (dired-glob-regexp): * lisp/dos-fns.el (dos-convert-standard-filename, dos-8+3-filename): * lisp/edmacro.el (edmacro-format-keys): * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand): * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand): * lisp/emacs-lisp/lisp-mnt.el (lm-keywords-list): * lisp/emacs-lisp/warnings.el (display-warning): * lisp/emulation/viper-ex.el (viper-ex-read-file-name) (ex-print-display-lines): * lisp/env.el (read-envvar-name, setenv): * lisp/epa-mail.el (epa-mail-encrypt): * lisp/epg.el (epg--start): * lisp/erc/erc-backend.el (erc-parse-server-response): * lisp/erc/erc-dcc.el (erc-dcc-member): * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) (erc-speedbar-expand-channel, erc-speedbar-expand-user): * lisp/erc/erc.el (erc-send-input): * lisp/eshell/em-glob.el (eshell-glob-entries): * lisp/eshell/esh-proc.el (eshell-needs-pipe-p): * lisp/eshell/esh-util.el (eshell-convert): * lisp/eshell/esh-var.el (eshell-envvar-names): * lisp/faces.el (x-resolve-font-name): * lisp/ffap.el (ffap-file-at-point): * lisp/files.el (wildcard-to-regexp, shell-quote-wildcard-pattern): * lisp/forms.el (forms--update): * lisp/frameset.el (frameset-filter-unshelve-param): * lisp/gnus/gnus-art.el (article-decode-charset): * lisp/gnus/gnus-kill.el (gnus-kill-parse-rn-kill-file): * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): * lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc) (gnus-inews-insert-gcc): * lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body): * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output) (gnus-search--complete-key-data): * lisp/gnus/gnus-spec.el (gnus-parse-simple-format): * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): * lisp/gnus/gnus-util.el (gnus-extract-address-components) (gnus-newsgroup-directory-form): * lisp/gnus/gnus-uu.el (gnus-uu-grab-view): * lisp/gnus/gnus.el (gnus-group-native-p, gnus-short-group-name): * lisp/gnus/message.el (message-check-news-header-syntax) (message-make-message-id, message-user-mail-address) (message-make-fqdn, message-get-reply-headers, message-followup): * lisp/gnus/mm-decode.el (mm-dissect-buffer): * lisp/gnus/nnheader.el (nnheader-insert): * lisp/gnus/nnimap.el (nnimap-process-quirk) (nnimap-imap-ranges-to-gnus-ranges): * lisp/gnus/nnmaildir.el (nnmaildir--ensure-suffix): * lisp/gnus/nnmairix.el (nnmairix-determine-original-group-from-path): * lisp/gnus/nnrss.el (nnrss-match-macro): * lisp/gnus/nntp.el (nntp-find-group-and-number): * lisp/help-fns.el (help--symbol-completion-table-affixation): * lisp/help.el (help-function-arglist): * lisp/hippie-exp.el (he-concat-directory-file-name): * lisp/htmlfontify.el (hfy-relstub): * lisp/ido.el (ido-make-prompt, ido-complete, ido-copy-current-word) (ido-exhibit): * lisp/image/image-converter.el (image-convert-p): * lisp/info-xref.el (info-xref-docstrings): * lisp/info.el (Info-toc-build, Info-follow-reference) (Info-backward-node, Info-finder-find-node) (Info-speedbar-expand-node): * lisp/international/mule-diag.el (print-fontset-element): * lisp/language/korea-util.el (default-korean-keyboard): * lisp/linum.el (linum-after-change): * lisp/mail/ietf-drums.el (ietf-drums-parse-address): * lisp/mail/mail-utils.el (mail-dont-reply-to): * lisp/mail/rfc2047.el (rfc2047-encode-1, rfc2047-decode-string): * lisp/mail/rfc2231.el (rfc2231-parse-string): * lisp/mail/rmailkwd.el (rmail-set-label): * lisp/mail/rmailsum.el (rmail-header-summary): * lisp/mail/smtpmail.el (smtpmail-maybe-append-domain) (smtpmail-user-mail-address): * lisp/mail/uce.el (uce-reply-to-uce): * lisp/man.el (Man-default-man-entry): * lisp/mh-e/mh-alias.el (mh-alias-gecos-name) (mh-alias-minibuffer-confirm-address): * lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): * lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output): * lisp/mh-e/mh-utils.el (mh-collect-folder-names-filter) (mh-folder-completion-function): * lisp/minibuffer.el (completion--make-envvar-table) (completion-file-name-table, completion-flex-try-completion) (completion-flex-all-completions): * lisp/mpc.el (mpc--proc-quote-string, mpc-cmd-special-tag-p) (mpc-constraints-tag-lookup): * lisp/net/ange-ftp.el (ange-ftp-send-cmd) (ange-ftp-allow-child-lookup): * lisp/net/mailcap.el (mailcap-mime-types): * lisp/net/mairix.el (mairix-search-thread-this-article): * lisp/net/pop3.el (pop3-open-server): * lisp/net/soap-client.el (soap-decode-xs-complex-type): * lisp/net/socks.el (socks-filter): * lisp/nxml/nxml-outln.el (nxml-highlighted-qname): * lisp/nxml/rng-cmpct.el (rng-c-expand-name, rng-c-expand-datatype): * lisp/nxml/rng-uri.el (rng-uri-file-name-1): * lisp/obsolete/complete.el (partial-completion-mode) (PC-do-completion): * lisp/obsolete/longlines.el (longlines-encode-string): * lisp/obsolete/nnir.el (nnir-compose-result): * lisp/obsolete/terminal.el (te-quote-arg-for-sh): * lisp/obsolete/tpu-edt.el (tpu-check-search-case): * lisp/obsolete/url-ns.el (isPlainHostName): * lisp/pcmpl-unix.el (pcomplete/scp): * lisp/play/dunnet.el (dun-listify-string2, dun-get-path) (dun-unix-parse, dun-doassign, dun-cat, dun-batch-unix-interface): * lisp/progmodes/ebnf2ps.el: (ebnf-eps-header-footer-comment): * lisp/progmodes/gdb-mi.el (gdb-var-delete) (gdb-speedbar-expand-node, gdbmi-bnf-incomplete-record-result): * lisp/progmodes/gud.el (gud-find-expr): * lisp/progmodes/idlw-help.el (idlwave-do-context-help1): * lisp/progmodes/idlw-shell.el (idlwave-shell-mode) (idlwave-shell-filter-hidden-output, idlwave-shell-filter): * lisp/progmodes/idlwave.el (idlwave-skip-label-or-case) (idlwave-routine-info): * lisp/progmodes/octave.el (inferior-octave-completion-at-point): * lisp/progmodes/sh-script.el (sh-add-completer): * lisp/progmodes/sql.el (defun): * lisp/progmodes/xscheme.el (xscheme-process-filter): * lisp/replace.el (query-replace-compile-replacement) (map-query-replace-regexp): * lisp/shell.el (shell--command-completion-data) (shell-environment-variable-completion): * lisp/simple.el (display-message-or-buffer): * lisp/speedbar.el (speedbar-dired, speedbar-tag-file) (speedbar-tag-expand): * lisp/subr.el (split-string-and-unquote): * lisp/tar-mode.el (tar-extract): * lisp/term.el (term-command-hook, serial-read-name): * lisp/textmodes/bibtex.el (bibtex-print-help-message): * lisp/textmodes/ispell.el (ispell-lookup-words, ispell-filter) (ispell-parse-output, ispell-buffer-local-parsing): * lisp/textmodes/reftex-cite.el (reftex-do-citation): * lisp/textmodes/reftex-parse.el (reftex-notice-new): * lisp/textmodes/reftex-ref.el (reftex-show-entry): * lisp/textmodes/reftex.el (reftex-compile-variables): * lisp/textmodes/tex-mode.el (tex-send-command) (tex-start-tex, tex-append): * lisp/thingatpt.el (thing-at-point-url-at-point): * lisp/tmm.el (tmm-add-one-shortcut): * lisp/transient.el (transient-format-key): * lisp/url/url-auth.el (url-basic-auth) (url-digest-auth-directory-id-assoc): * lisp/url/url-news.el (url-news): * lisp/url/url-util.el (url-parse-query-string): * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): * lisp/wid-browse.el (widget-browse-sexp): * lisp/woman.el (woman-parse-colon-path, woman-mini-help) (WoMan-getpage-in-background, woman-negative-vertical-space): * lisp/xml.el: * test/lisp/emacs-lisp/check-declare-tests.el (check-declare-tests-warn): * test/lisp/files-tests.el (files-tests-file-name-non-special-dired-compress-handler): * test/lisp/net/network-stream-tests.el (server-process-filter): * test/src/coding-tests.el (ert-test-unibyte-buffer-dos-eol-decode): Use `string-search` instead of `string-match` and `string-match-p`.
* | Un-obsolete dired-in-this-tree-p and use it again in certain places.Tassilo Horn2021-08-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts parts of b425966b07, and 7b50ed553f, i.e. it reverts the obsoletion of dired-in-this-tree-p and switches some new callers of file-in-directory-p back to using dired-in-this-tree-p. It turned out that using file-in-directory-p can be a major performance regression in case you have a dired buffer of a remote directory which has become (almost) inaccessible. Any attempt to open a new dired buffer is checking if a buffer for that directory already exists (in terms of dired-buffers-for-dir) which meant that file-in-directory-p was called with the directory of any existing dired buffer including the inaccessible one where the file-truename call in file-in-directory-p could block for seconds or even minutes. * lisp/dired.el (dired-in-this-tree-p): Undo obsoletion. (dired-buffers-for-dir): Use dired-in-this-tree-p as before. * lisp/dired-aux.el (dired-kill-tree,dired-tree-down): Une dired-in-this-tree-p as before.
* | Use string-replace instead of replace-regexp-in-stringMattias Engdegård2021-08-081-7/+7
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `string-replace` is easier to understand, less error-prone, much faster, and results in shorter Lisp and byte code. Use it where applicable and obviously safe (erring on the conservative side). * admin/authors.el (authors-scan-change-log): * lisp/autoinsert.el (auto-insert-alist): * lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent) (calc-edit-macro-combine-ext-command) (calc-edit-macro-combine-var-name): * lisp/calc/calc-units.el (math-make-unit-string): * lisp/calendar/cal-html.el (cal-html-comment): * lisp/calendar/cal-tex.el (cal-tex-comment): * lisp/calendar/icalendar.el (icalendar--convert-string-for-export) (icalendar--convert-string-for-import): * lisp/calendar/iso8601.el (iso8601--concat-regexps) (iso8601--full-time-match, iso8601--combined-match): * lisp/calendar/time-date.el (format-seconds): * lisp/calendar/todo-mode.el (todo-filter-items-filename): * lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name) (cedet-file-name-to-directory-name): * lisp/comint.el (comint-watch-for-password-prompt): * lisp/dired-aux.el (dired-do-chmod): * lisp/dired-x.el (dired-man): * lisp/dired.el (dired-insert-directory, dired-goto-file-1): * lisp/emacs-lisp/comp.el (comp-c-func-name): * lisp/emacs-lisp/re-builder.el (reb-copy): * lisp/erc/erc-dcc.el (erc-dcc-unquote-filename): * lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy) (erc-update-mode-line-buffer, erc-message-english-PART): * lisp/files.el (make-backup-file-name-1, files--transform-file-name) (read-file-modes): * lisp/fringe.el (fringe-mode): * lisp/gnus/gnus-art.el (gnus-button-handle-info-url): * lisp/gnus/gnus-group.el (gnus-group-completing-read): * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): * lisp/gnus/gnus-search.el (gnus-search-query-parse-date) (gnus-search-transform-expression, gnus-search-run-search): * lisp/gnus/gnus-start.el (gnus-dribble-enter): * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): * lisp/gnus/gnus-util.el (gnus-mode-string-quote): * lisp/gnus/message.el (message-put-addresses-in-ecomplete) (message-parse-mailto-url, message-mailto-1): * lisp/gnus/mml-sec.el (mml-secure-epg-sign): * lisp/gnus/mml-smime.el (mml-smime-epg-verify): * lisp/gnus/mml2015.el (mml2015-epg-verify): * lisp/gnus/nnmaildir.el (nnmaildir--system-name) (nnmaildir-request-list, nnmaildir-retrieve-groups) (nnmaildir-request-group, nnmaildir-retrieve-headers): * lisp/gnus/nnrss.el (nnrss-node-text): * lisp/gnus/spam-report.el (spam-report-gmane-internal) (spam-report-user-mail-address): * lisp/ibuffer.el (name): * lisp/image-dired.el (image-dired-pngnq-thumb) (image-dired-pngcrush-thumb, image-dired-optipng-thumb) (image-dired-create-thumb-1): * lisp/info.el (Info-set-mode-line): * lisp/international/mule-cmds.el (describe-language-environment): * lisp/mail/rfc2231.el (rfc2231-parse-string): * lisp/mail/rfc2368.el (rfc2368-parse-mailto-url): * lisp/mail/rmail.el (rmail-insert-inbox-text) (rmail-simplified-subject-regexp): * lisp/mail/rmailout.el (rmail-output-body-to-file): * lisp/mail/undigest.el (rmail-digest-rfc1153): * lisp/man.el (Man-default-man-entry): * lisp/mouse.el (minor-mode-menu-from-indicator): * lisp/mpc.el (mpc--debug): * lisp/net/browse-url.el (browse-url-mail): * lisp/net/eww.el (eww-update-header-line-format): * lisp/net/newst-backend.el (newsticker-save-item): * lisp/net/rcirc.el (rcirc-sentinel): * lisp/net/soap-client.el (soap-decode-date-time): * lisp/nxml/rng-cmpct.el (rng-c-literal-2-re): * lisp/nxml/xmltok.el (let*): * lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex) (nnir-run-find-grep): * lisp/play/dunnet.el (dun-doassign): * lisp/play/handwrite.el (handwrite): * lisp/proced.el (proced-format-args): * lisp/profiler.el (profiler-report-header-line-format): * lisp/progmodes/gdb-mi.el (gdb-mi-quote): * lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex) (makefile-make-font-lock-keywords): * lisp/progmodes/prolog.el (prolog-guess-fill-prefix): * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes): * lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal): * lisp/progmodes/which-func.el (which-func-current): * lisp/replace.el (query-replace-read-from) (occur-engine, replace-quote): * lisp/select.el (xselect--encode-string): * lisp/ses.el (ses-export-tab): * lisp/subr.el (shell-quote-argument): * lisp/term/pc-win.el (msdos-show-help): * lisp/term/w32-win.el (w32--set-selection): * lisp/term/xterm.el (gui-backend-set-selection): * lisp/textmodes/picture.el (picture-tab-search): * lisp/thumbs.el (thumbs-call-setroot-command): * lisp/tooltip.el (tooltip-show-help-non-mode): * lisp/transient.el (transient-format-key): * lisp/url/url-mailto.el (url-mailto): * lisp/vc/log-edit.el (log-edit-changelog-ours-p): * lisp/vc/vc-bzr.el (vc-bzr-status): * lisp/vc/vc-hg.el (vc-hg--glob-to-pcre): * lisp/vc/vc-svn.el (vc-svn-after-dir-status): * lisp/xdg.el (xdg-desktop-strings): * test/lisp/electric-tests.el (defun): * test/lisp/term-tests.el (term-simple-lines): * test/lisp/time-stamp-tests.el (formatz-mod-del-colons): * test/lisp/wdired-tests.el (wdired-test-bug32173-01) (wdired-test-unfinished-edit-01): * test/src/json-tests.el (json-parse-with-custom-null-and-false-objects): Use `string-replace` instead of `replace-regexp-in-string`.
* Fix dired-number-of-marked-files when there are no marked filesDaniel Martín2021-07-131-7/+7
| | | | | * lisp/dired.el (dired-number-of-marked-files): Fix if expression so that the else part is evaluated correctly.
* Add new user option to avoid piling on Dired buffersLars Ingebrigtsen2021-07-131-2/+16
| | | | | | | | | | * doc/emacs/dired.texi (Dired Visiting): Document it. * lisp/dired.el (dired-kill-when-opening-new-dired-buffer): New user option (bug#20598). (dired-up-directory, dired-find-file): Use it. (dired--find-possibly-alternative-file): New convenience command to respect the user option.
* Further cleanup for file locksMichael Albinus2021-07-091-24/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/misc/tramp.texi (Top, Configuration): Adapt node name for file locks. (Auto-save File Lock and Backup): Rename node name and section title. Add file-lock to @cindex. Describe file locks. * lisp/dired.el (dired-trivial-filenames): Add lock files. (dired-font-lock-keywords): Move files suffixed with `completion-ignored-extensions' up. Add lock files to these checks. * lisp/net/tramp.el (tramp-get-lock-file, tramp-handle-unlock-file): Use `when-let' (tramp-lock-file-info-regexp): Rename from `tramp-lock-file-contents-regexp'. (tramp-handle-file-locked-p, tramp-handle-lock-file): Adapt callees. (tramp-handle-lock-file): Set file modes of lockname. * src/buffer.c (Frestore_buffer_modified_p): * src/fileio.c (write_region): * src/insdel.c (prepare_to_modify_buffer_1): Call Flock_file. * src/filelock.c (Qmake_lock_file_name): Declare symbol. (make_lock_file_name): Use it. Don't check Fboundp, it doesn't work for interned symbols. (lock_file): Return a Lisp_Object. Don't check create_lockfiles. Remove MSDOS version of the function. (Flock_file): Check create_lockfiles. (Flock_buffer): Call Flock_file. * src/lisp.h (lock_file): Remove. * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo) (shadow-test09-shadow-copy-files): Let-bind `create-lockfiles'. * test/lisp/net/tramp-tests.el (create-lockfiles): Don't set it globally. (tramp-test39-lock-file): Check also for `set-visited-file-name'.
* Improve consistency of outline headings in dired librariesJonas Bernoulli2021-06-301-27/+50
| | | | | | | | | | | | | | | | | * lisp/dired-aux.el: Improve consistency of outline headings. * lisp/dired-x.el: Improve consistency of outline headings. * lisp/dired.el: Improve consistency of outline headings. - Use three semicolons at beginning of headings because that already is the dominant number of semicolons for headings in these files. - Prefix each heading with a ^L instead of randomly omitting it in front of some. - Always prefix the line with the ^L with a completely empty line. - Begin headings with a capital letter. - Do not update complete headings. - Do not end headings with a period. - Remove a handful of section end markers. - Address further inconsistencies.
* Cleanup whitespace and comments in dired librariesJonas Bernoulli2021-06-301-37/+34
| | | | | | * lisp/dired-aux.el: Cleanup whitespace and comments. * lisp/dired-x.el: Cleanup whitespace and comments. * lisp/dired.el: Cleanup whitespace and comments.
* Ask if dir and subdir dired buffers be killed when deleting dirTassilo Horn2021-06-041-14/+19
| | | | | | | | | | | | | | | | | | | | Previously, when you've had dired buffers ~/foo/ ~/foo/bar/ ~/foo/bar/baz/ and then deleted ~/foo/, dired (with dired-clean-up-buffers-too set to non-nil) would only ask to delete the dired buffer of ~/foo/. Now it will offer to delete all three buffers. * lisp/dired.el (dired-buffers-for-dir): Add optional argument SUBDIRS which makes the function return also dired buffers showing a subdir of DIR. (dired-in-this-tree-p): Make obsolete in favor of file-in-directory-p which actually does what the name suggest whereas dired-in-this-tree-p is just string-matching on filenames which will fail with symlinks filenames including ./ or ../.
* Fix placement of point in Dired deletion operationsStephen Berman2021-06-041-15/+20
| | | | | | | | | * lisp/dired.el (dired-do-flagged-delete, dired-do-delete): Use point-marker instead of point to record each file name position. Clean up the markers before returning. (dired-internal-do-deletions): Move to the file name marker, and then move point to the file name to visually emphasize which file is being operated on (bug#48805).
* Fix dired confirm message asking to kill buffers of deleted dir (bug#48301)Tassilo Horn2021-05-111-5/+10
| | | | | | * lisp/dired.el (dired-clean-up-after-deletion): Fix dired confirmation message asking to kill buffers of deleted dir in the case where `dired-listing-switches' contain -p (bug#48301).
* Convert dired menus to easymenuStefan Kangas2021-02-281-315/+204
| | | | | | | * lisp/dired.el (dired-mode-map): Move menus from here... (dired-mode-subdir-menu, dired-mode-immediate-menu) (dired-mode-regexp-menu, dired-mode-mark-menu) (dired-mode-operate-menu): ...to here, and convert to easymenu.
* ; Fix dired-switches-in-mode-line defcustom tags.Basil L. Contovounesios2021-02-281-1/+2
|
* Mention the problems with newlines in DiredLars Ingebrigtsen2021-02-221-0/+5
| | | | | | | | * doc/emacs/dired.texi (Dired Enter): Mention newlines and what to do about them. * lisp/dired.el (dired-listing-switches): Mention newlines (bug#46705).
* Have `dired-mode' refer to Customize instead of listing some variablesLars Ingebrigtsen2021-02-021-13/+3
| | | | | * lisp/dired.el (dired-mode): Punt to Customize instead of listing some of the dired variables (bug#46239).
* Fix interaction between two dired cleanup variablesJeff Spencer2021-01-301-9/+12
| | | | | | | | * lisp/dired.el (dired-clean-up-after-deletion): Kill the buffers if you have `dired-clean-up-buffers-too' set and `dired-clean-confirm-killing-deleted-buffers' nil (bug#38037). Copyright-paperwork-exempt: yes
* Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Make dired-toggle-read-only query on read-only directoriesLars Ingebrigtsen2020-12-131-2/+4
| | | | | * lisp/dired.el (dired-toggle-read-only): Query instead of erroring out immediately (bug#29412).
* Preserve point in dired buffers in dired-*-find-file* commandsLars Ingebrigtsen2020-12-121-3/+7
| | | | | | | * lisp/dired.el (dired--find-file): New function (bug#28949). (dired-find-file): Use it. (dired-mouse-find-file): Ditto. (dired-find-file-other-window): Ditto.
* Make dired-toggle-read-only check whether the directory is writableLars Ingebrigtsen2020-12-121-0/+2
| | | | | * lisp/dired.el (dired-toggle-read-only): Check that the directory is writable (bug#29412).
* Define explicit-shell-file-name only in shell.elBasil L. Contovounesios2020-12-031-2/+1
| | | | | | | | | | | | | | | | | | | | For discussion, see the following thread: https://lists.gnu.org/r/emacs-devel/2020-04/msg00880.html * doc/emacs/cmdargs.texi (General Variables): Mention shell-file-name in relation to SHELL. * doc/emacs/misc.texi (Interactive Shell): Move index entry for SHELL environment variable from here, where it is not mentioned... (Single Shell): ...to here, where it is discussed along with shell-file-name. * lisp/dired.el (dired-insert-directory): Use shell-file-name instead of explicit-shell-file-name when a shell is implicitly requested. * lisp/obsolete/terminal.el (explicit-shell-file-name): * lisp/term.el (explicit-shell-file-name): Remove duplicate defcustoms and load lisp/shell.el instead. (Bug#40679) * lisp/shell.el (explicit-shell-file-name): Clarify docstring. (shell): Simplify.
* Fix some glitches in recent directory-files-* changesMichael Albinus2020-11-021-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/files.texi (Contents of Directories): Fix description of directory-files, directory-empty-p and directory-files-and-attributes. * etc/NEWS: Fix entry for directory-files-and-attributes. Fix typos. * lisp/dired.el (directory-empty-p): Move function from here ... * lisp/files.el (directory-empty-p): ... to here. * lisp/net/ange-ftp.el (ange-ftp-directory-files): Call `nreverse' later. * lisp/net/tramp.el (tramp-handle-directory-files): * lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes): Do not call `nreverse'. * src/dired.c (Fdirectory_files) (Fdirectory_files_and_attributes): Fix docstrings. * test/src/dired-tests.el: Removed. Tests moved to test/lisp/dired-tests.el. * test/lisp/dired-tests.el (dired-test-bug27899): Tag it :unstable. (dired-test-directory-files) (dired-test-directory-files-and-attributes): New tests.
* Add directory-empty-p and new argument COUNT for directory-files-*Arthur Miller2020-11-021-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/files.texi (Contents of Directories): Mention COUNT argument of directory-files. Add directory-empty-p. * etc/NEWS: Mention directory-empty-p and directory-files changes. * lisp/dired.el (directory-empty-p): New defun. * lisp/net/ange-ftp.el (ange-ftp-directory-files) (ange-ftp-directory-files-and-attributes): * lisp/net/tramp.el (tramp-handle-directory-files) (tramp-handle-directory-files-and-attributes): * lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes): * lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files): * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add new COUNT argument. * src/dired.c (directory_files_internal): Implement new RETURN_COUNT argument. (Fdirectory_files, Fdirectory_files_and_attributes): Add new COUNT argument. * src/lisp.h (directory_files_internal): Add RETURN_COUNT to declaration. * src/sysdep.c (list_system_processes): Add Qnil to directory_files_internal call. * test/src/dired-tests.el (directory-files-and-attributes-tests): New file.
* Allow controlling the Dired switches shown in the mode lineDrew Adams2020-09-301-13/+41
| | | | | | | * doc/emacs/dired.texi (Dired Enter): Document it (bug#41250). * lisp/dired.el (dired-switches-in-mode-line): New variable (bug#41250). (dired-sort-set-mode-line): Use it.
* Make dired-replace-in-string obsoleteLars Ingebrigtsen2020-09-271-3/+2
| | | | | | | | * lisp/dired.el (dired-insert-directory): * lisp/dired-aux.el (dired-rename-subdir, dired-rename-subdir-2) (dired-insert-subdir): Adjust callers. * lisp/dired.el (dired-replace-in-string): Make obsolete.
* Fix thinko in dired-change-marksStefan Kangas2020-09-221-2/+2
| | | | | * lisp/dired.el (dired-change-marks): Fix my previous broken attempt to declare advertised-calling-convention.
* Fix problem with previous dired.el changeLars Ingebrigtsen2020-09-161-1/+3
| | | | | | | | * lisp/dired.el (dired-get-filename): dired-current-directory can't be called before the dired buffer has been set up. (add-hook 'dired-mode-hook 'dired-sort-toggle) calls dired-get-filename in a way that exposes this problem, so avoid it.
* Fix problem of marking files with hidden subdirsStephen Berman2020-09-141-1/+21
| | | | | | | | * lisp/dired.el (dired-unhide-subdir): (dired-subdir-hidden-p): (dired-subdir-min): Moved from subr-x. (dired-get-filename): Get the correct filename when directories are hidden (bug#8484).
* Revert "Use format-prompt in read-file-name calls that have a default"Lars Ingebrigtsen2020-09-131-3/+2
| | | | | | | | This reverts commit de4f347901adffd07bc9bff028dc073fb3c6df33. read-file-name already displays a long path when given a default (like INITIAL in many other prompting functions), so using format-prompt here is superfluous.
* dired-omit-mode may not be defined in dired-jumpLars Ingebrigtsen2020-09-121-1/+1
| | | | | * lisp/dired.el (dired-jump): dired-omit-mode is in dired-x, so it may not be defined in dired.
* Move dired-jump from dired-x to dired (Bug#21981)Stefan Kangas2020-09-121-0/+64
| | | | | | | | | | | | | | | | | | | * lisp/dired-x.el (dired-bind-jump): Change into defvar and make obsolete. (dired-extra-startup): Doc fix. (dired-jump, dired-jump-other-window): Move from here... * lisp/dired.el (dired-jump, dired-jump-other-window): ...to here. * lisp/bindings.el (ctl-x-map, ctl-x-4-map): Bind 'C-j' to 'dired-jump' and 'dired-jump-other-window'. * doc/misc/dired-x.texi (Features, Installation) (Miscellaneous Commands): Remove documentation of 'dired-jump'. * doc/emacs/dired.texi (Dired Enter): Document 'dired-jump' and dired-jump-other-window. * etc/NEWS: Announce the above changes. * test/lisp/dired-tests.el (dired-autoload): Adjust test.
* Use format-prompt in read-file-name calls that have a defaultLars Ingebrigtsen2020-09-071-2/+3
| | | | | | | | | | | | | | | | | | | * lisp/xwidget.el (xwidget-webkit-save-as-file): * lisp/vc/vc.el (vc-backend-for-registration, vc-delete-file) (vc-rename-file): * lisp/vc/ediff-ptch.el (ediff-prompt-for-patch-file): * lisp/vc/diff-mode.el (diff-tell-file-name): * lisp/progmodes/etags.el (visit-tags-table) (visit-tags-table-buffer): * lisp/misearch.el (multi-isearch-read-files): * lisp/mail/rmailmm.el (rmail-mime-save): * lisp/help-fns.el (doc-file-to-man, doc-file-to-info): * lisp/gnus/gnus-bookmark.el (gnus-bookmark-load): * lisp/files.el (write-file, basic-save-buffer): * lisp/dired.el (dired-read-dir-and-switches): * lisp/bookmark.el (bookmark-save, bookmark-load): * lisp/abbrev.el (write-abbrev-file, abbrev-edit-save-to-file): Use format-prompt in read-file-name calls that have a default.
* wdired-do-renames: Speed up for long Emacs sessionsTino Calancha2020-09-041-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | `dired-rename-file' calls unconditionally `dired-rename-subdir'. The second function performs performs a loop on all the Emacs buffers; this step is only needed if FILE is a directory (bug#32899). In a long lived Emacs session, this can make a difference when renaming a bunch of files with `wdired'. For instance, in my 40 days old Emacs session, with ~ 700 buffers, this patch increases the speed to rename 2000 files a factor ~ 15. * lisp/dired-aux.el (dired-rename-file): Call `dired-rename-subdir' iif FILE is a directory. Add docstring. (dired-rename-subdir, dired-remove-entry) (dired-remove-file): Add docstring. (dired-remove-entry): Move definition into `dired.el'. * lisp/wdired.el (wdired-do-renames): Use a progress-reporter. * lisp/dired.el (dired-delete-entry): Use `dired-remove-entry'. Add docstring. (dired-buffers-for-dir, dired-fun-in-all-buffers): Change comment into docstring. (dired-fun-in-all-buffers): Prefer `when' and `push' here.
* dired: Show broken/circular links w/ different faceTino Calancha2020-08-271-0/+22
| | | | | | | | | * lisp/dired.el (dired-broken-symlink): New face. (dired-font-lock-keywords): Use it for broken/circular links (Bug#39145). * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1): Announce this change.
* Add "Delete" submenu to Dired "Operate" menuStefan Kangas2020-08-251-2/+9
| | | | | * lisp/dired.el (dired-mode-map): Add "Delete" submenu to "Operate" menu with an entry for 'dired-do-flagged-delete'. (Bug#41524)