summaryrefslogtreecommitdiff
path: root/lisp/progmodes/ruby-mode.el
AgeCommit message (Collapse)Author
2026-01-01; Add 2026 to copyright years.Sean Whitton
2025-11-26Fix indentation of keyword argument arrays/hashes in ruby-modeAaron Jensen
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Check for ':' and '=>' as previous tokens, and handle symbols ending with ':' to properly indent keyword argument arrays and hashes when ruby-bracketed-args-indent is nil. * lisp/progmodes/ruby-ts-mode.el (ruby-ts--parent-call-or-bol): Handle arrays/hashes that are children of 'pair' nodes (keyword arguments) to ensure consistent indentation. * test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb: Add test cases for keyword argument arrays and hashes with both symbol-colon and hash-rocket syntax. When ruby-bracketed-args-indent is nil, arrays and hashes used as keyword argument values now indent by ruby-indent-level from the line start, matching the documented behavior and fixing inconsistent indentation (bug#74517). (https://lists.gnu.org/archive/html/emacs-devel/2025-11/msg00939.html)
2025-09-16ruby-syntax-propertize: Add exception for /=Dmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): Create an exception for assign-division operator not to be recognized as regexp start (bug#79454). * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add example.
2025-08-28ruby-flymake-simple: Refine furtherDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-flymake-simple): Relax regexp but limit allowed characters (bug#79257).
2025-08-27; ruby-flymake-simple: Only match relative file name (bug#79257)john muhl
2025-08-26Fix 'ruby-flymake-simple' for Ruby 3.4 (Bug#79257)john muhl
* lisp/progmodes/ruby-mode.el (ruby-flymake-simple): Update regular expression to handle new versions of Ruby including the location of the executable in the output.
2025-08-14New user option 'treesit-enabled-modes' (bug#79180)Juri Linkov
* lisp/treesit.el (treesit-enabled-modes): New user option. * src/treesit.c (treesit-major-mode-remap-alist): New variable. * lisp/progmodes/c-ts-mode.el: * lisp/progmodes/csharp-mode.el: * lisp/progmodes/java-ts-mode.el: * lisp/progmodes/js.el: * lisp/progmodes/json-ts-mode.el: * lisp/progmodes/ruby-ts-mode.el: * lisp/progmodes/sh-script.el: * lisp/textmodes/css-mode.el: * lisp/textmodes/mhtml-ts-mode.el: * lisp/textmodes/toml-ts-mode.el: Add ts-mode mapping to 'treesit-major-mode-remap-alist' for ts-modes that already have the corresponding non-ts mode association in 'auto-mode-alist'. * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode-maybe): * lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode-maybe): * lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode-maybe): * lisp/progmodes/go-ts-mode.el (go-ts-mode-maybe) (go-mod-ts-mode-maybe, go-work-ts-mode-maybe): * lisp/progmodes/heex-ts-mode.el (heex-ts-mode-maybe): * lisp/progmodes/lua-ts-mode.el (lua-ts-mode-maybe): * lisp/progmodes/php-ts-mode.el (php-ts-mode-maybe): * lisp/progmodes/rust-ts-mode.el (rust-ts-mode-maybe): * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode-maybe) (tsx-ts-mode-maybe): * lisp/textmodes/markdown-ts-mode.el (markdown-ts-mode-maybe): * lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode-maybe): Add a wrapper function to 'auto-mode-alist' for ts-modes that have no corresponding non-ts mode. Also add a mapping to 'treesit-major-mode-remap-alist' for the case when a non-ts mode is installed from an external source to be able to customize it with 'treesit-enabled-modes'.
2025-04-28Fix ruby lint output regexpsTim Landscheidt
* doc/misc/flymake.texi (An annotated example backend): Fix regexp. * lisp/progmodes/ruby-mode.el (ruby-flymake-simple) (ruby-flymake-rubocop): Fix regexp (https://lists.gnu.org/archive/html/emacs-devel/2025-04/msg00851.html).
2025-02-17Prefer '(oddp A)' to '(= 1 (logand A 1))'Stefan Kangas
* lisp/calendar/todo-mode.el (todo-padded-string): * lisp/emacs-lisp/gv.el (setf): * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): * lisp/hexl.el (hexl-insert-hex-string): * lisp/play/gamegrid.el (gamegrid-xbm): * lisp/play/hanoi.el (hanoi-internal): * lisp/progmodes/ebnf2ps.el (ebnf-end-of-string): * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument): * lisp/progmodes/ruby-mode.el (ruby-backward-sexp): * lisp/ps-print.el (ps-print-page-p): (ps-print-sheet-p): Prefer '(oddp A)' to '(= 1 (logand A 1))' and variations thereof.
2025-02-01Merge branch 'scratch/no-purespace' into 'master'Stefan Kangas
2025-01-01Update copyright year to 2025Paul Eggert
Run "TZ=UTC0 admin/update-copyright".
2024-12-22; Update version tags of defcustomsEli Zaretskii
* admin/release-process: Expand on 'cusver-check'. * lisp/editorconfig.el (editorconfig-indentation-alist) (editorconfig-trim-whitespaces-mode): * lisp/eshell/em-cmpl.el (eshell-cmpl-remote-file-ignore): * lisp/eshell/esh-ext.el (eshell-explicit-remote-commands): * lisp/gnus/nnfeed.el (nnfeed-date-format): * lisp/net/newst-ticker.el (newsticker-ticker-period): * lisp/progmodes/cc-vars.el (c-warn-ids-with-dollar): * lisp/progmodes/cperl-mode.el (cperl-fontify-trailer): * lisp/progmodes/eglot.el (customize-package-emacs-version-alist) (eglot-events-buffer-config, eglot-confirm-server-edits) (eglot-prefer-plaintext): * lisp/progmodes/flymake.el (customize-package-emacs-version-alist): * lisp/progmodes/ruby-mode.el (ruby-rubocop-use-bundler): * lisp/progmodes/verilog-mode.el (verilog-indent-ignore-multiline-defines) (verilog-indent-ignore-regexp, verilog-indent-class-inside-pkg) (verilog-align-decl-expr-comments) (verilog-align-comment-distance, verilog-align-assign-expr) (verilog-align-typedef-regexp, verilog-align-typedef-words) (verilog-fontify-variables): * lisp/register.el (register-preview-display-buffer-alist): * lisp/vc/vc-annotate.el (vc-annotate-use-short-revision): Add missing :version tags and additions to 'customize-package-emacs-version-alist' as appropriate.
2024-12-12Don't call purecopy in progmodes/*.elStefan Kangas
* lisp/progmodes/compile.el (compile-command): * lisp/progmodes/etags.el (tags-compression-info-list): * lisp/progmodes/grep.el (grep-program, find-program, xargs-program): * lisp/progmodes/js.el (interpreter-mode-alist): * lisp/progmodes/python.el (interpreter-mode-alist): * lisp/progmodes/ruby-mode.el (auto-mode-alist, interpreter-mode-alist): * lisp/progmodes/vera-mode.el: Remove calls to purecopy.
2024-11-28Allow to go back to using 'ruby-mode' after loading 'ruby-ts-mode'Eli Zaretskii
* lisp/progmodes/ruby-ts-mode.el (major-mode-remap-defaults): Remap 'ruby-mode' to 'ruby-ts-mode'. Add commentary. * lisp/progmodes/ruby-mode.el (major-mode-remap-defaults): Remove any remappings of ruby-mode'. * lisp/progmodes/c-ts-mode.el: Fix a typo in a comment. (Bug#74339)
2024-09-02Add new option ruby-bracketed-args-indentAaron Jensen
* lisp/progmodes/ruby-mode.el (ruby-bracketed-args-indent): New option. (ruby-smie-rules): Use it (bug#60321). * test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb: New file. * test/lisp/progmodes/ruby-mode-tests.el: Use it for new case.
2024-07-07Checkdoc fixes in progmodesStefan Kangas
* lisp/progmodes/cperl-mode.el (cperl-file-style) (cperl-continued-brace-offset, cperl-tips-faces): * lisp/progmodes/eglot.el (eglot-confirm-server-edits, eglot) (eglot-list-connections-mode, eglot--outstanding-inlay-hints-region) (eglot--outstanding-inlay-regions-timer): * lisp/progmodes/etags.el (etags-goto-tag-location) (etags--xref-apropos-additional): * lisp/progmodes/flymake.el (flymake-autoresize-margins): * lisp/progmodes/gdb-mi.el (gdb-mouse-until, gdb-mouse-jump): * lisp/progmodes/hideif.el (hif-parse-macro-arglist): * lisp/progmodes/idlw-help.el (idlwave-html-help-location): * lisp/progmodes/idlwave.el (idlwave-reserved-word-upcase): * lisp/progmodes/java-ts-mode.el (java-ts-mode--string-highlight-helper): * lisp/progmodes/js.el (js--chained-expression-p): * lisp/progmodes/pascal.el (pascal-mode, pascal-comment-area): * lisp/progmodes/python.el (python--treesit-fontify-union-types): * lisp/progmodes/ruby-mode.el (ruby-align-chained-calls) (ruby-block-indent, ruby-rubocop-use-bundler): * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--prettify-symbols-compose-p): * lisp/progmodes/verilog-mode.el (verilog-cache-has-lisp) (verilog-auto-insert-lisp, verilog-highlight-region): * lisp/progmodes/xref.el (xref--get-history): Various checkdoc fixes.
2024-05-13ruby-rubocop-use-bundler: New user optionDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-rubocop-use-bundler): New user option. (ruby-flymake-rubocop--use-bundler-p): Use it. * etc/NEWS: Mention it.
2024-01-02Merge from savannah/emacs-29Po Lu
dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
2024-01-02; Add 2024 to copyright yearsPo Lu
2023-12-16ruby-syntax-methods-before-regexp: Drop this whitelistDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re): Match only based on keywords and operators. (ruby-syntax-methods-before-regexp): Delete. (ruby-syntax-propertize): Use the new heuristic based on spaces instead of checking for method names before (bug#67569). * test/lisp/progmodes/ruby-mode-tests.el (ruby-regexp-not-division-when-only-space-before): Use non-whitelisted method name. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Adjust two examples.
2023-12-10Merge from origin/emacs-29Eli Zaretskii
2773cf9e013 ; Fix typos 020aff95fa3 ; Fix typos in ChangeLog files 5e03a621efc ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristi... f0734e1c0d1 Fix c-ts-mode indent heuristic (bug#67417) 08fc6bace20 Fix c-ts-mode indentation (bug#67357) 71bc2815ccd Add font-locking for hash-bang lines in typescript-ts-mode. db8347c8c87 Add font-locking for hash-bang lines in js-ts-mode 91f2ade57bb ruby-mode: Better detect regexp vs division (bug#67569)
2023-12-09ruby-mode: Better detect regexp vs division (bug#67569)Dmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re): Add grouping around methods from the whitelist. (ruby-syntax-propertize): Also look for spaces around the slash.
2023-10-12Fix a defcustom :typeMauro Aranda
* lisp/progmodes/ruby-mode.el (ruby-insert-encoding-magic-comment): Allow always-utf8. (Bug#66498)
2023-08-03Register more Ruby files in auto-mode-alistStefan Kangas
* lisp/progmodes/ruby-mode.el (auto-mode-alist): Add fastlane and Caxlsx files.
2023-08-02Don't hardcode ruby version in interpreter-mode-alistStefan Kangas
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist): Don't hardcode ruby version. This adds support for modern versions of Ruby like "ruby2.7", instead of the previously hardcoded "ruby1.9".
2023-04-15Merge from origin/emacs-29Eli Zaretskii
864a4dc2363 Fix compilation of w32.c with old MinGW system headers a22eb9ae0f9 ruby-add-log-current-method: Reduce the use of 'nreverse' 17d803d0a75 Fix detection of WebP images by their signature 43290391ce2 ; Eglot: make version parseable by version-to-list 6e6e8b5c974 Add more documentation for the keys of `package-vc-select... 7972b76c2c7 ; vc-checkout: Wrap var lookup in 'bound-and-true-p' e9fef1d70ff vc-checkout: Try to use the vc-dir's backend first 372e024accd ; Fix wallpaper-tests on XFCE 7055fd8e43e Improve documentation related to 'ispell-complete-word' 61fd017abde * configure.ac: Add -lbsd on Haiku. 05971c4d9a4 Add menu to 'c-ts-mode' and 'c++-ts-mode' # Conflicts: # lisp/progmodes/eglot.el # lisp/progmodes/ruby-mode.el
2023-04-13ruby-add-log-current-method: Reduce the use of 'nreverse'Dmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): Reduce the use of 'nreverse' (bug#62761). * test/lisp/progmodes/ruby-mode-tests.el (ruby-add-log-current-method-singleton-referencing-outer): New test.
2023-03-03Remove ineffective uses of condition-caseMattias EngdegÄrd
* lisp/gnus/message.el (message-setup-1): * lisp/progmodes/cc-engine.el (c-forward-single-comment): * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): Eliminate uses of condition-case without handlers. These seem to have been there for quite a long time. This change does not affect the behaviour of the code and makes some warnings go away.
2023-02-28ruby-mode: Fix method call indentation in rhs of multiple assignmentDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Special-case assignment that follows a comma-separated list (bug#61871). * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add case.
2023-02-27ruby-smie-rules: Fix misindentation of a method call after assignmentDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Fix indentation of a method call after assignment with ruby-after-operator-indent=nil (bug#61822). * test/lisp/progmodes/ruby-mode-resources/ruby-after-operator-indent.rb: Add corresponding example.
2023-01-22ruby-mode.el: Expand some docstrings with examplesDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-align-chained-calls) (ruby-method-params-indent): Expand docstrings with examples.
2023-01-20ruby-ts-mode: Highlight builtin methodsDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-builtin-methods-with-reqs) (ruby-builtin-methods-no-reqs): New constants, extracted. (ruby-font-lock-keywords): Replace values with references. * lisp/progmodes/ruby-ts-mode.el (ruby-ts--builtin-methods): New variable. Construct regexp from aforementioned constants' values. * lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings): Use it. * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add new font-lock feature: builtin-functions. * lisp/progmodes/ruby-ts-mode.el (ruby-ts--predefined-constants) (ruby-ts--predefined-variables): Unrelated to the rest of the patch, add string-start and string-end anchors.
2023-01-19ruby-toggle-block: Fix in ruby-ts-modeDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-toggle-block): Make it work with ruby-ts-mode. ruby-forward-sexp checks ruby-use-smie.
2023-01-03Extract common code into ruby-base-mode to derive fromDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-base-mode): New major base mode, to set up common vars and hooks. (ruby-mode-variables): Delete. Move most code to ruby-base-mode. And some -- to ruby-mode body. (ruby-mode): Derive from ruby-base-mode. Also move some setup to there. * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Derive from ruby-base-mode. Remove duplicating settings.
2023-01-01; Add 2023 to copyright years.Eli Zaretskii
2022-12-31Add version tags and mention the new options in NEWSDmitry Gutov
* etc/NEWS: Mention the new options (bug#60186). * lisp/progmodes/ruby-mode.el (ruby-block-indent) (ruby-after-operator-indent, ruby-method-call-indent) (ruby-parenless-call-arguments-indent): Add version tags.
2022-12-31Add new options for Ruby code indentationDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-block-indent) (ruby-after-operator-indent, ruby-method-call-indent) (ruby-parenless-call-arguments-indent): New options (bug#60186). (ruby-smie-grammar): Specify associativity for "?". (ruby-smie--indent-to-stmt): Add optional argument. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: New cases. * test/lisp/progmodes/ruby-mode-resources/ruby-method-call-indent.rb: * test/lisp/progmodes/ruby-mode-resources/ruby-block-indent.rb: * test/lisp/progmodes/ruby-mode-resources/ruby-after-operator-indent.rb: * test/lisp/progmodes/ruby-mode-resources/ ruby-parenless-call-arguments-indent.rb: New files. * test/lisp/progmodes/ruby-mode-tests.el: Add indentation tests for new files.
2022-12-24Fix ruby-mode.el local command injection vulnerability (bug#60268)Xi Lu
* lisp/progmodes/ruby-mode.el (ruby-find-library-file): Fix local command injection vulnerability.
2022-12-20; Fix ruby-method-params-indent's :version valueDmitry Gutov
2022-12-19ruby-method-params-indent: New user optionDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-method-params-indent): New option (bug#60110). (ruby-smie-rules): Use it. * etc/NEWS: Mention it. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Ensure the var's value is default. * test/lisp/progmodes/ruby-mode-resources/ruby-method-params-indent.rb: New file. * test/lisp/progmodes/ruby-mode-tests.el (ruby-deftest-indent): New macro, use it to run the indentation test using the new file. Disable the :expensive-test tag, because neither runs for "longer than some few seconds", both take significantly below 1s.
2022-12-19; ruby-indent-level: Improve the docstringDmitry Gutov
2022-12-19ruby-mode: Support endless singleton method definitions tooDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-endless-method-head-re): Update to match not only 'self.' but 'xyz.' as well (bug#54702). * test/lisp/progmodes/ruby-mode-resources/ruby.rb (Bar#foo=): Update example.
2022-12-18ruby-mode: Support endless methods (bug#54702)Dmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-endless-method-head-re): New constant. (ruby-smie-grammar): New token. (ruby-smie--forward-token, ruby-smie--backward-token): Recognize it. (ruby-smie-rules): Indentation support. (ruby-add-log-current-method): Support here too. * test/lisp/progmodes/ruby-mode-tests.el (ruby-add-log-current-method-after-endless-method): New test. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: New examples.
2022-12-17ruby-mode: Recognize instance or global var as first arg in parenless callDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-smie--args-separator-p): Recognize instance or global var as first arg in parenless call. * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add example.
2022-12-17Fix end-of-defun in ruby-modeDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-beginning-of-defun): Return t in case of success.
2022-12-15Fix ruby-add-log-current-method after nested class definitionDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby--add-log-current-indent): New function. (ruby-add-log-current-method): Use it. Check for "class" and "module" indentation to filter out the definitions which don't include the given position. Also try to match "def" only once (for performance), because if the closest one doesn't include the given position, none will. * test/lisp/progmodes/ruby-mode-tests.el (ruby-add-log-current-method-after-inner-class-outside-methods) (ruby-add-log-current-method-after-inner-class-outside-methods-with-text): New tests.
2022-10-26Pacify recent unused/ignored lexvar warningsBasil L. Contovounesios
Lexvars with special names like 'ignored' or 'unused' are no longer treated specially. * lisp/ansi-color.el (ansi-color-process-output): * lisp/cus-edit.el (customize-apropos-options): * lisp/cus-theme.el (customize-create-theme): * lisp/dired-aux.el (dired-hide-all): * lisp/emacs-lisp/crm.el (crm--choose-completion-string): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-revert): * lisp/ido.el (ido-choose-completion-string): * lisp/international/mule-diag.el (describe-font-internal): * lisp/mail/sendmail.el (sendmail-user-agent-compose): * lisp/progmodes/fortran.el (fortran-uncomment-region): * lisp/progmodes/prolog.el (prolog-inferior-guess-flavor): * lisp/progmodes/ruby-mode.el (ruby-indent-line, ruby-indent-exp): * lisp/url/url.el (url-mm-callback): * lisp/xwidget.el (xwidget-webkit-history-reload): Prepend an underscore to unused function parameter names. * lisp/emacs-lisp/cconv.el (cconv--dummy-var): Remove unused constant. * lisp/files.el (hack-local-variables-filter): Remove unused lexvar.
2022-08-23Make point-at-eol and point-at-bol obsoleteStefan Kangas
* lisp/subr.el (point-at-eol, point-at-bol): Make XEmacs compat aliases obsolete in favor of `pos-bol'/'line-beginning-position' or 'pos-eol'/'line-end-position'. Update callers. Ref: https://lists.gnu.org/r/emacs-devel/2022-08/msg00853.html
2022-07-08* lisp/progmodes/ruby-mode.el (ruby-mode): Set outline-regexp, outline-level.Juri Linkov
Suggested by Yilkal Argaw <yilkalargawworkneh@gmail.com>.
2022-04-26Fix Ruby indentation with double splat as first block paramDmitry Gutov
* lisp/progmodes/ruby-mode.el (ruby-smie--forward-token) (ruby-smie--backward-token): Tokenize "**" separately from "|". Problem reported at https://github.com/dgutov/robe/issues/136.