From ee1319dd64b5645b2ee4ae2a2a0ffd13d86f2854 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Thu, 10 Sep 2026 00:08:17 +0200 Subject: [PATCH 1/4] Revert "Add a hint how to correctly set the C++ standard version" This reverts commit 2330f9e95aa8eb817f64eb7b797f4b5993b6cc29. Both rules_cc and apple_support now enable C++17 by default. --- docs/manual.org | 4 ---- index.html | 4 ---- 2 files changed, 8 deletions(-) diff --git a/docs/manual.org b/docs/manual.org index fe2c8556..723d9366 100644 --- a/docs/manual.org +++ b/docs/manual.org @@ -61,10 +61,6 @@ See [[https://bazel.build/external/overview#bzlmod][the Bzlmod documentation]] for background information. Then you can use the ~elisp_library~, ~elisp_cc_module~, ~elisp_binary~, and ~elisp_test~ rules. See the rule documentation below and the examples in the ~examples~ directory for details. -Note that the C++ code used by ~rules_elisp~ requires at least C++17, but Bazel -still compiles with C++11 by default. See -[[https://github.com/abseil/abseil-cpp/blob/master/FAQ.md#how-to-i-set-the-c-dialect-used-to-build-abseil][the -Abseil FAQ]] how to correctly change the C++ standard for your project. #+INCLUDE: elisp/elisp_library.org #+INCLUDE: elisp/elisp_cc_module.org diff --git a/index.html b/index.html index 1d2dcf61..b4f24045 100644 --- a/index.html +++ b/index.html @@ -124,10 +124,6 @@

3 Usageelisp_library, elisp_cc_module, elisp_binary, and elisp_test rules. See the rule documentation below and the examples in the examples directory for details. -Note that the C++ code used by rules_elisp requires at least C++17, but Bazel -still compiles with C++11 by default. See -the -Abseil FAQ how to correctly change the C++ standard for your project.

Rule: elisp_library (name, [fatal_warnings], srcs, [outs], [data], [load_path], [deps])
From 4b933c58fb155cbb23b55eb61e281e4f6fbe91d1 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Thu, 10 Sep 2026 00:42:34 +0200 Subject: [PATCH 2/4] Add empty lines between consecutive #+INCLUDE statements Org will strip leading and trailing newlines from included files, leading to some ugly renderings. --- docs/manual.org | 4 ++++ index.html | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/manual.org b/docs/manual.org index 723d9366..e9638481 100644 --- a/docs/manual.org +++ b/docs/manual.org @@ -63,8 +63,11 @@ for background information. Then you can use the ~elisp_library~, documentation below and the examples in the ~examples~ directory for details. #+INCLUDE: elisp/elisp_library.org + #+INCLUDE: elisp/elisp_cc_module.org + #+INCLUDE: elisp/elisp_binary.org + #+INCLUDE: elisp/elisp_test.org * Load path management @@ -654,6 +657,7 @@ toolchains of type ~@rules_elisp//elisp:toolchain_type~; see are created using the `elisp_toolchain` rule. #+INCLUDE: elisp/toolchains/elisp_toolchain.org + #+INCLUDE: elisp/toolchains/elisp_emacs_binary.org * Indices diff --git a/index.html b/index.html index b4f24045..31390f4a 100644 --- a/index.html +++ b/index.html @@ -186,6 +186,7 @@

3 Usage
Rule: elisp_cc_module (name, [srcs], [deps], [data], [copts], [linkopts], [local_defines])
@@ -258,6 +259,7 @@

3 Usage
Rule: elisp_binary (name, [fatal_warnings], src, [data], [deps], [interactive], [input_args], [output_args])
@@ -319,6 +321,7 @@

3 Usage
Rule: elisp_test (name, [fatal_warnings], srcs, [data], [deps], [skip_tests], [skip_tags])
@@ -1316,6 +1319,7 @@

9 Starlark infrastructu

+
Rule: elisp_emacs_binary (name, [mode], srcs, readme, [module_header], [builtin_features], [dump_mode])
From b3a517dd5a7a5da14b9a74c56bbd9b798d504d82 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Thu, 10 Sep 2026 00:43:32 +0200 Subject: [PATCH 3/4] Fix a typo --- elisp/elisp_library.bzl | 6 +++--- index.html | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/elisp/elisp_library.bzl b/elisp/elisp_library.bzl index bdc50e4f..4d6e0580 100644 --- a/elisp/elisp_library.bzl +++ b/elisp/elisp_library.bzl @@ -1,4 +1,4 @@ -# Copyright 2020-2025 Google LLC +# Copyright 2020-2026 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -78,8 +78,8 @@ To add a load path entry for the current package, specify `.` here.""", }, doc = """Byte-compiles Emacs Lisp source files and makes the compiled output available to dependencies. All sources are byte-compiled. -`elisp_library`, `elisp_binary`, and `elisp_test` rules depending on this binary -can then use `load` or `require` to load them. +`elisp_library`, `elisp_binary`, and `elisp_test` rules depending on this +library can then use `load` or `require` to load them. By default, libraries need to be loaded using a filename relative to the repository root, i.e., package/file. If you want to add diff --git a/index.html b/index.html index 31390f4a..ee6f7877 100644 --- a/index.html +++ b/index.html @@ -135,8 +135,8 @@

3 Usageelisp_library, elisp_binary, and elisp_test rules depending on this binary -can then use load or require to load them. +elisp_library, elisp_binary, and elisp_test rules depending on this +library can then use load or require to load them.

By default, libraries need to be loaded using a filename relative to the repository root, i.e., package/​file. If you want to add From 97123248725e10cea25b55583eea68f39271ed98 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Thu, 10 Sep 2026 00:43:44 +0200 Subject: [PATCH 4/4] =?UTF-8?q?Don=E2=80=99t=20allow=20line=20breaks=20aft?= =?UTF-8?q?er=20=E2=80=98e.g.=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This also causes Texinfo to treat the space after the abbreviation as a word-space, not a sentence-space. --- elisp/elisp_library.bzl | 2 +- elisp/elisp_test.bzl | 2 +- index.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/elisp/elisp_library.bzl b/elisp/elisp_library.bzl index 4d6e0580..2ce5f145 100644 --- a/elisp/elisp_library.bzl +++ b/elisp/elisp_library.bzl @@ -92,7 +92,7 @@ ensure that files get only loaded in their byte-compiled form. The source files in `srcs` can also list shared objects. The rule treats them as Emacs modules and doesn’t try to byte-compile them. You can use -e.g. `cc_binary` with `linkshared = True` to create shared objects.""", +e.g. `cc_binary` with `linkshared = True` to create shared objects.""", provides = [EmacsLispInfo], toolchains = [Label("//elisp:toolchain_type")], implementation = _elisp_library_impl, diff --git a/elisp/elisp_test.bzl b/elisp/elisp_test.bzl index e36c1a74..954742ba 100644 --- a/elisp/elisp_test.bzl +++ b/elisp/elisp_test.bzl @@ -133,7 +133,7 @@ you don’t control.""", "skip_tags": attr.string_list( doc = """List of test tags to skip. This attribute contains a list of tag names; if a test is tagged with one of the tags from this list, it is -skipped. This can be useful to e.g. skip tests that are flaky or only work in +skipped. This can be useful to e.g. skip tests that are flaky or only work in interactive mode. Use the `:tags` keyword argument to `ert-deftest` to tag tests.""", ), diff --git a/index.html b/index.html index ee6f7877..810adab7 100644 --- a/index.html +++ b/index.html @@ -149,7 +149,7 @@

3 Usagesrcs can also list shared objects. The rule treats them as Emacs modules and doesn’t try to byte-compile them. You can use -e.g. cc_binary with linkshared = True to create shared objects. +e.g. cc_binary with linkshared = True to create shared objects.

The elisp_library rule supports the following attributes: @@ -390,7 +390,7 @@

3 Usageskip_tags

List of test tags to skip. This attribute contains a list of tag names; if a test is tagged with one of the tags from this list, it is -skipped. This can be useful to e.g. skip tests that are flaky or only work in +skipped. This can be useful to e.g. skip tests that are flaky or only work in interactive mode. Use the :tags keyword argument to ert-deftest to tag tests. List of strings; optional; default: [].