mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
22bbf7ca22
* CONTRIBUTE,Makefile.in,configure.ac: Update to reflect test directory moves. * test/file-organisation.org: New file. * test/automated/Makefile.in test/automated/data/decompress/foo.gz test/automated/data/epg/pubkey.asc test/automated/data/epg/seckey.asc test/automated/data/files-bug18141.el.gz test/automated/data/flymake/test.c test/automated/data/flymake/test.pl test/automated/data/package/archive-contents test/automated/data/package/key.pub test/automated/data/package/key.sec test/automated/data/package/multi-file-0.2.3.tar test/automated/data/package/multi-file-readme.txt test/automated/data/package/newer-versions/archive-contents test/automated/data/package/newer-versions/new-pkg-1.0.el test/automated/data/package/newer-versions/simple-single-1.4.el test/automated/data/package/package-test-server.py test/automated/data/package/signed/archive-contents test/automated/data/package/signed/archive-contents.sig test/automated/data/package/signed/signed-bad-1.0.el test/automated/data/package/signed/signed-bad-1.0.el.sig test/automated/data/package/signed/signed-good-1.0.el test/automated/data/package/signed/signed-good-1.0.el.sig test/automated/data/package/simple-depend-1.0.el test/automated/data/package/simple-single-1.3.el test/automated/data/package/simple-single-readme.txt test/automated/data/package/simple-two-depend-1.1.el test/automated/abbrev-tests.el test/automated/auto-revert-tests.el test/automated/calc-tests.el test/automated/icalendar-tests.el test/automated/character-fold-tests.el test/automated/comint-testsuite.el test/automated/descr-text-test.el test/automated/electric-tests.el test/automated/cl-generic-tests.el test/automated/cl-lib-tests.el test/automated/eieio-test-methodinvoke.el test/automated/eieio-test-persist.el test/automated/eieio-tests.el test/automated/ert-tests.el test/automated/ert-x-tests.el test/automated/generator-tests.el test/automated/let-alist.el test/automated/map-tests.el test/automated/advice-tests.el test/automated/package-test.el test/automated/pcase-tests.el test/automated/regexp-tests.el test/automated/seq-tests.el test/automated/subr-x-tests.el test/automated/tabulated-list-test.el test/automated/thunk-tests.el test/automated/timer-tests.el test/automated/epg-tests.el test/automated/eshell.el test/automated/faces-tests.el test/automated/file-notify-tests.el test/automated/auth-source-tests.el test/automated/gnus-tests.el test/automated/message-mode-tests.el test/automated/help-fns.el test/automated/imenu-test.el test/automated/info-xref.el test/automated/mule-util.el test/automated/isearch-tests.el test/automated/json-tests.el test/automated/bytecomp-tests.el test/automated/coding-tests.el test/automated/core-elisp-tests.el test/automated/decoder-tests.el test/automated/files.el test/automated/font-parse-tests.el test/automated/lexbind-tests.el test/automated/occur-tests.el test/automated/process-tests.el test/automated/syntax-tests.el test/automated/textprop-tests.el test/automated/undo-tests.el test/automated/man-tests.el test/automated/completion-tests.el test/automated/dbus-tests.el test/automated/newsticker-tests.el test/automated/sasl-scram-rfc-tests.el test/automated/tramp-tests.el test/automated/obarray-tests.el test/automated/compile-tests.el test/automated/elisp-mode-tests.el test/automated/f90.el test/automated/flymake-tests.el test/automated/python-tests.el test/automated/ruby-mode-tests.el test/automated/subword-tests.el test/automated/replace-tests.el test/automated/simple-test.el test/automated/sort-tests.el test/automated/subr-tests.el test/automated/reftex-tests.el test/automated/sgml-mode-tests.el test/automated/tildify-tests.el test/automated/thingatpt.el test/automated/url-future-tests.el test/automated/url-util-tests.el test/automated/add-log-tests.el test/automated/vc-bzr.el test/automated/vc-tests.el test/automated/xml-parse-tests.el test/BidiCharacterTest.txt test/biditest.el test/cedet/cedet-utests.el test/cedet/ede-tests.el test/cedet/semantic-ia-utest.el test/cedet/semantic-tests.el test/cedet/semantic-utest-c.el test/cedet/semantic-utest.el test/cedet/srecode-tests.el test/cedet/tests/test.c test/cedet/tests/test.el test/cedet/tests/test.make test/cedet/tests/testdoublens.cpp test/cedet/tests/testdoublens.hpp test/cedet/tests/testfriends.cpp test/cedet/tests/testjavacomp.java test/cedet/tests/testnsp.cpp test/cedet/tests/testpolymorph.cpp test/cedet/tests/testspp.c test/cedet/tests/testsppcomplete.c test/cedet/tests/testsppreplace.c test/cedet/tests/testsppreplaced.c test/cedet/tests/testsubclass.cpp test/cedet/tests/testsubclass.hh test/cedet/tests/testtypedefs.cpp test/cedet/tests/testvarnames.c test/etags/CTAGS.good test/etags/ETAGS.good_1 test/etags/ETAGS.good_2 test/etags/ETAGS.good_3 test/etags/ETAGS.good_4 test/etags/ETAGS.good_5 test/etags/ETAGS.good_6 test/etags/a-src/empty.zz test/etags/a-src/empty.zz.gz test/etags/ada-src/2ataspri.adb test/etags/ada-src/2ataspri.ads test/etags/ada-src/etags-test-for.ada test/etags/ada-src/waroquiers.ada test/etags/c-src/a/b/b.c test/etags/c-src/abbrev.c test/etags/c-src/c.c test/etags/c-src/dostorture.c test/etags/c-src/emacs/src/gmalloc.c test/etags/c-src/emacs/src/keyboard.c test/etags/c-src/emacs/src/lisp.h test/etags/c-src/emacs/src/regex.h test/etags/c-src/etags.c test/etags/c-src/exit.c test/etags/c-src/exit.strange_suffix test/etags/c-src/fail.c test/etags/c-src/getopt.h test/etags/c-src/h.h test/etags/c-src/machsyscalls.c test/etags/c-src/machsyscalls.h test/etags/c-src/sysdep.h test/etags/c-src/tab.c test/etags/c-src/torture.c test/etags/cp-src/MDiagArray2.h test/etags/cp-src/Range.h test/etags/cp-src/burton.cpp test/etags/cp-src/c.C test/etags/cp-src/clheir.cpp.gz test/etags/cp-src/clheir.hpp test/etags/cp-src/conway.cpp test/etags/cp-src/conway.hpp test/etags/cp-src/fail.C test/etags/cp-src/functions.cpp test/etags/cp-src/screen.cpp test/etags/cp-src/screen.hpp test/etags/cp-src/x.cc test/etags/el-src/TAGTEST.EL test/etags/el-src/emacs/lisp/progmodes/etags.el test/etags/erl-src/gs_dialog.erl test/etags/f-src/entry.for test/etags/f-src/entry.strange.gz test/etags/f-src/entry.strange_suffix test/etags/forth-src/test-forth.fth test/etags/html-src/algrthms.html test/etags/html-src/index.shtml test/etags/html-src/software.html test/etags/html-src/softwarelibero.html test/etags/lua-src/allegro.lua test/etags/objc-src/PackInsp.h test/etags/objc-src/PackInsp.m test/etags/objc-src/Subprocess.h test/etags/objc-src/Subprocess.m test/etags/objcpp-src/SimpleCalc.H test/etags/objcpp-src/SimpleCalc.M test/etags/pas-src/common.pas test/etags/perl-src/htlmify-cystic test/etags/perl-src/kai-test.pl test/etags/perl-src/yagrip.pl test/etags/php-src/lce_functions.php test/etags/php-src/ptest.php test/etags/php-src/sendmail.php test/etags/prol-src/natded.prolog test/etags/prol-src/ordsets.prolog test/etags/ps-src/rfc1245.ps test/etags/pyt-src/server.py test/etags/tex-src/gzip.texi test/etags/tex-src/nonewline.tex test/etags/tex-src/testenv.tex test/etags/tex-src/texinfo.tex test/etags/y-src/atest.y test/etags/y-src/cccp.c test/etags/y-src/cccp.y test/etags/y-src/parse.c test/etags/y-src/parse.y test/indent/css-mode.css test/indent/js-indent-init-dynamic.js test/indent/js-indent-init-t.js test/indent/js-jsx.js test/indent/js.js test/indent/latex-mode.tex test/indent/modula2.mod test/indent/nxml.xml test/indent/octave.m test/indent/pascal.pas test/indent/perl.perl test/indent/prolog.prolog test/indent/ps-mode.ps test/indent/ruby.rb test/indent/scheme.scm test/indent/scss-mode.scss test/indent/sgml-mode-attribute.html test/indent/shell.rc test/indent/shell.sh test/redisplay-testsuite.el test/rmailmm.el test/automated/buffer-tests.el test/automated/cmds-tests.el test/automated/data-tests.el test/automated/finalizer-tests.el test/automated/fns-tests.el test/automated/inotify-test.el test/automated/keymap-tests.el test/automated/print-tests.el test/automated/libxml-tests.el test/automated/zlib-tests.el: Files Moved.
415 lines
4.9 KiB
Ruby
415 lines
4.9 KiB
Ruby
if something_wrong? # ruby-move-to-block-skips-heredoc
|
|
ActiveSupport::Deprecation.warn(<<-eowarn)
|
|
boo hoo
|
|
end
|
|
eowarn
|
|
foo
|
|
end
|
|
|
|
def foo
|
|
%^bar^
|
|
end
|
|
|
|
# Percent literals.
|
|
b = %Q{This is a "string"}
|
|
c = %w!foo
|
|
bar
|
|
baz!
|
|
d = %(hello (nested) world)
|
|
|
|
# Don't propertize percent literals inside strings.
|
|
"(%s, %s)" % [123, 456]
|
|
|
|
"abc/#{def}ghi"
|
|
"abc\#{def}ghi"
|
|
|
|
# Or inside comments.
|
|
x = # "tot %q/to"; =
|
|
y = 2 / 3
|
|
|
|
# Regexp after whitelisted method.
|
|
"abc".sub /b/, 'd'
|
|
|
|
# Don't mis-match "sub" at the end of words.
|
|
a = asub / aslb + bsub / bslb;
|
|
|
|
# Highlight the regexp after "if".
|
|
x = toto / foo if /do bar/ =~ "dobar"
|
|
|
|
# Regexp options are highlighted.
|
|
|
|
/foo/xi != %r{bar}mo.tee
|
|
|
|
foo { /"tee/
|
|
bar { |qux| /'fee"/ } # bug#20026
|
|
}
|
|
|
|
bar(class: XXX) do # ruby-indent-keyword-label
|
|
foo
|
|
end
|
|
bar
|
|
|
|
foo = [1, # ruby-deep-indent
|
|
2]
|
|
|
|
foo = { # ruby-deep-indent-disabled
|
|
a: b
|
|
}
|
|
|
|
foo = { a: b,
|
|
a1: b1
|
|
}
|
|
|
|
foo({ # bug#16118
|
|
a: b,
|
|
c: d
|
|
})
|
|
|
|
bar = foo(
|
|
a, [
|
|
1,
|
|
],
|
|
:qux => [
|
|
3
|
|
])
|
|
|
|
foo(
|
|
[
|
|
{
|
|
a: b
|
|
},
|
|
],
|
|
{
|
|
c: d
|
|
}
|
|
)
|
|
|
|
foo([{
|
|
a: 2
|
|
},
|
|
{
|
|
b: 3
|
|
},
|
|
4
|
|
])
|
|
|
|
foo = [ # ruby-deep-indent-disabled
|
|
1
|
|
]
|
|
|
|
foo( # ruby-deep-indent-disabled
|
|
a
|
|
)
|
|
|
|
# Multiline regexp.
|
|
/bars
|
|
tees # toots
|
|
nfoos/
|
|
|
|
def test1(arg)
|
|
puts "hello"
|
|
end
|
|
|
|
def test2 (arg)
|
|
a = "apple"
|
|
|
|
if a == 2
|
|
puts "hello"
|
|
else
|
|
puts "there"
|
|
end
|
|
|
|
if a == 2 then
|
|
puts "hello"
|
|
elsif a == 3
|
|
puts "hello3"
|
|
elsif a == 3 then
|
|
puts "hello3"
|
|
else
|
|
puts "there"
|
|
end
|
|
|
|
b = case a
|
|
when "a"
|
|
6
|
|
# Support for this syntax was removed in Ruby 1.9, so we
|
|
# probably don't need to handle it either.
|
|
# when "b" :
|
|
# 7
|
|
# when "c" : 2
|
|
when "d" then 4
|
|
else 5
|
|
end
|
|
end
|
|
|
|
# Some Cucumber code:
|
|
Given /toto/ do
|
|
print "hello"
|
|
end
|
|
|
|
# Bug#15208
|
|
if something == :==
|
|
do_something
|
|
|
|
return false unless method == :+
|
|
x = y + z # Bug#16609
|
|
|
|
a = 1 ? 2 :(
|
|
2 + 3
|
|
)
|
|
end
|
|
|
|
# Bug#17097
|
|
if x == :!=
|
|
something
|
|
end
|
|
|
|
# Example from http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html
|
|
d = 4 + 5 + # no '\' needed
|
|
6 + 7
|
|
|
|
# Example from http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html
|
|
e = 8 + 9 \
|
|
+ 10 # '\' needed
|
|
|
|
foo = obj.bar { |m| tee(m) } +
|
|
obj.qux { |m| hum(m) }
|
|
|
|
begin
|
|
foo
|
|
ensure
|
|
bar
|
|
end
|
|
|
|
# Bug#15369
|
|
MSG = 'Separate every 3 digits in the integer portion of a number' \
|
|
'with underscores(_).'
|
|
|
|
class C
|
|
def foo
|
|
self.end
|
|
D.new.class
|
|
end
|
|
end
|
|
|
|
a = foo(j, k) -
|
|
bar_tee
|
|
|
|
while a < b do # "do" is optional
|
|
foo
|
|
end
|
|
|
|
desc "foo foo" \
|
|
"bar bar"
|
|
|
|
foo.
|
|
bar
|
|
|
|
# https://github.com/rails/rails/blob/17f5d8e062909f1fcae25351834d8e89967b645e/activesupport/lib/active_support/time_with_zone.rb#L206
|
|
foo
|
|
.bar
|
|
|
|
z = {
|
|
foo: {
|
|
a: "aaa",
|
|
b: "bbb"
|
|
}
|
|
}
|
|
|
|
foo if
|
|
bar
|
|
|
|
if foo?
|
|
bar
|
|
end
|
|
|
|
method arg1, # bug#15594
|
|
method2 arg2,
|
|
arg3
|
|
|
|
method? arg1,
|
|
arg2
|
|
|
|
method! arg1,
|
|
arg2
|
|
|
|
method !arg1,
|
|
arg2
|
|
|
|
method [],
|
|
arg2
|
|
|
|
method :foo,
|
|
:bar
|
|
|
|
method (a + b),
|
|
c, :d => :e,
|
|
f: g
|
|
|
|
desc "abc",
|
|
defg
|
|
|
|
it "is a method call with block" do |asd|
|
|
foo
|
|
end
|
|
|
|
it("is too!") {
|
|
bar
|
|
.qux
|
|
}
|
|
|
|
and_this_one(has) { |block, parameters|
|
|
tee
|
|
}
|
|
|
|
if foo &&
|
|
bar
|
|
end
|
|
|
|
foo +
|
|
bar
|
|
|
|
foo and
|
|
bar
|
|
|
|
foo > bar &&
|
|
tee < qux
|
|
|
|
zux do
|
|
foo == bar and
|
|
tee == qux
|
|
end
|
|
|
|
foo ^
|
|
bar
|
|
|
|
foo_bar_tee(1, 2, 3)
|
|
.qux.bar
|
|
.tee
|
|
|
|
foo do
|
|
bar
|
|
.tee
|
|
end
|
|
|
|
def bar
|
|
foo
|
|
.baz
|
|
end
|
|
|
|
# http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation
|
|
tee = if foo
|
|
bar
|
|
else
|
|
tee
|
|
end
|
|
|
|
a = b {
|
|
c
|
|
}
|
|
|
|
aa = bb do
|
|
cc
|
|
end
|
|
|
|
foo :bar do
|
|
qux
|
|
end
|
|
|
|
foo do |*args|
|
|
tee
|
|
end
|
|
|
|
bar do |&block|
|
|
tee
|
|
end
|
|
|
|
foo = [1, 2, 3].map do |i|
|
|
i + 1
|
|
end
|
|
|
|
bar.foo do
|
|
bar
|
|
end
|
|
|
|
bar.foo(tee) do
|
|
bar
|
|
end
|
|
|
|
bar.foo(tee) {
|
|
bar
|
|
}
|
|
|
|
bar 1 do
|
|
foo 2 do
|
|
tee
|
|
end
|
|
end
|
|
|
|
foo |
|
|
bar
|
|
|
|
def qux
|
|
foo ||= begin
|
|
bar
|
|
tee
|
|
rescue
|
|
oomph
|
|
end
|
|
end
|
|
|
|
private def foo
|
|
bar
|
|
end
|
|
|
|
%^abc^
|
|
ddd
|
|
|
|
qux = foo.fee ?
|
|
bar :
|
|
tee
|
|
|
|
zoo.keep.bar!(
|
|
{x: y,
|
|
z: t})
|
|
|
|
zoo
|
|
.lose(
|
|
q, p)
|
|
|
|
a.records().map(&:b).zip(
|
|
foo)
|
|
|
|
# FIXME: This is not consistent with the example below it, but this
|
|
# offset only happens if the colon is at eol, which wouldn't be often.
|
|
# Tokenizing `bar:' as `:bar =>' would be better, but it's hard to
|
|
# distinguish from a variable reference inside a ternary operator.
|
|
foo(bar:
|
|
tee)
|
|
|
|
foo(:bar =>
|
|
tee)
|
|
|
|
{'a' => {
|
|
'b' => 'c',
|
|
'd' => %w(e f)
|
|
}
|
|
}
|
|
|
|
# Bug#17050
|
|
|
|
return render json: {
|
|
errors: { base: [message] },
|
|
copying: copying
|
|
},
|
|
status: 400
|
|
|
|
top test(
|
|
some,
|
|
top,
|
|
test)
|
|
|
|
foo bar, {
|
|
tee: qux
|
|
}
|