Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
4551-Always-consider-maybe-and-else-as-keywords...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 4551-Always-consider-maybe-and-else-as-keywords-in-epp_do.patch of Package erlang
From c1d9b83bef7adab962c27f9ee657825399e9ba15 Mon Sep 17 00:00:00 2001 From: Roberto Aloi <robertoaloi@fb.com> Date: Fri, 19 May 2023 14:07:41 +0200 Subject: [PATCH] Always consider 'maybe' and 'else' as keywords in epp_dodger --- lib/edoc/test/edoc_SUITE.erl | 12 +++++++++++- lib/syntax_tools/src/epp_dodger.erl | 11 +++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lib/edoc/test/edoc_SUITE.erl b/lib/edoc/test/edoc_SUITE.erl index d09e9a2ecb..5fb81f74bd 100644 --- a/lib/edoc/test/edoc_SUITE.erl +++ b/lib/edoc/test/edoc_SUITE.erl @@ -25,7 +25,7 @@ %% Test cases -export([app/1,appup/1,build_std/1,build_map_module/1,otp_12008/1, build_app/1, otp_14285/1, infer_module_app_test/1, - module_with_feature/1]). + module_with_feature/1, module_with_maybe/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. @@ -170,3 +170,13 @@ module_with_feature(Config) -> PreprocessOpts = [{preprocess, true}, {dir, PrivDir}], ok = edoc:files([Source], PreprocessOpts), ok. + +module_with_maybe(Config) -> + DataDir = ?config(data_dir, Config), + PrivDir = ?config(priv_dir, Config), + Source = filename:join(DataDir, "module_with_maybe.erl"), + DodgerOpts = [{dir, PrivDir}], + ok = edoc:files([Source], DodgerOpts), + PreprocessOpts = [{preprocess, true}, {dir, PrivDir}], + ok = edoc:files([Source], PreprocessOpts), + ok. diff --git a/lib/syntax_tools/src/epp_dodger.erl b/lib/syntax_tools/src/epp_dodger.erl index 40f67b5660..a5f579705a 100644 --- a/lib/syntax_tools/src/epp_dodger.erl +++ b/lib/syntax_tools/src/epp_dodger.erl @@ -434,8 +434,7 @@ parse_form(Dev, L0, Parser, Options) -> %% This as the *potential* to read options for enabling/disabling %% features for the parsing of the file. {ok, {_Ftrs, ResWordFun}} = - erl_features:keyword_fun(Options, - fun erl_scan:f_reserved_word/1), + erl_features:keyword_fun(Options, fun reserved_word/1), case io:scan_erl_form(Dev, "", L0, [{reserved_word_fun,ResWordFun}]) of {ok, Ts, L1} -> @@ -932,3 +931,11 @@ errormsg(String) -> %% ===================================================================== + +%% See #7266: The dodger currently does not process feature attributes +%% correctly, so temporarily consider the `else` and `maybe` atoms +%% always as keywords +-spec reserved_word(Atom :: atom()) -> boolean(). +reserved_word('else') -> true; +reserved_word('maybe') -> true; +reserved_word(Atom) -> erl_scan:f_reserved_word(Atom). -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor