diff options
| author | Stefan Kangas | 2023-03-20 06:30:32 +0100 |
|---|---|---|
| committer | Stefan Kangas | 2023-03-20 06:30:32 +0100 |
| commit | 20d8a1cf4bdc1de994b5c39a8ee02af657416c56 (patch) | |
| tree | 542aff7d6767542a42e4fb6a84c69f4dece073ef /doc/misc | |
| parent | f615968fe1b4726e3914aa65e4b7c6c6be07ea70 (diff) | |
| parent | ea87c54f359e3d98b4f21a0904206b3696b4bb74 (diff) | |
| download | emacs-20d8a1cf4bdc1de994b5c39a8ee02af657416c56.tar.gz emacs-20d8a1cf4bdc1de994b5c39a8ee02af657416c56.zip | |
Merge from origin/emacs-29
ea87c54f359 ; * lisp/subr.el (setq-local): Add missing period (bug#62...
90362f87d58 ; Correct last commit, downcase node reference
38067f05b92 Enhance section about troubleshooting in Eglot manual.
6f82596b490 Fix Eglot's snippet insertion to follow the manual
c54bda15e35 Reset abbrevs-changed after saving abbrevs (bug#62208)
e8cee15f780 ; Fix markup in previous change
e4a7d0cd6ea Document `keymap-unset' in lispref
bb3e0ded9eb Don't add a key binding when REMOVE is non-nil
a4a9ffdd80a Fix the documentation of various aspects of adding Xref h...
a2222b9a9bf ; Minor wording fix in ELisp reference manual
5cf1de683b2 Fix python-fill-paragraph problems on filling strings (bu...
7385c991dff Also exempt eglot-inlay-hints-mode from desktop.el's fumb...
1961bdb52ed ; Add WebDAV entry to index in Tramp manual
dfb36d36230 Refer to EWW instead of w3 and w3m
9d3fdf7e0d4 Fix Eglot's command generation for code actions
# Conflicts:
# etc/NEWS
Diffstat (limited to 'doc/misc')
| -rw-r--r-- | doc/misc/eglot.texi | 106 | ||||
| -rw-r--r-- | doc/misc/idlwave.texi | 7 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 1 |
3 files changed, 82 insertions, 32 deletions
diff --git a/doc/misc/eglot.texi b/doc/misc/eglot.texi index 85f83ee4b26..5ebc055ecf7 100644 --- a/doc/misc/eglot.texi +++ b/doc/misc/eglot.texi | |||
| @@ -1292,53 +1292,103 @@ pop up special buffers that can be used to inspect the communications | |||
| 1292 | between the Eglot and language server. In many cases, this will | 1292 | between the Eglot and language server. In many cases, this will |
| 1293 | indicate the problems or at least provide a hint. | 1293 | indicate the problems or at least provide a hint. |
| 1294 | 1294 | ||
| 1295 | @cindex performance | ||
| 1295 | A common and easy-to-fix cause of performance problems is the length | 1296 | A common and easy-to-fix cause of performance problems is the length |
| 1296 | of these two buffers. If Eglot is operating correctly but slowly, | 1297 | of the Eglot events buffer because it represent additional work that |
| 1297 | customize the variable @code{eglot-events-buffer-size} (@pxref{Eglot | 1298 | Eglot must do. After verifying Eglot is operating correctly but |
| 1298 | Variables}) to limit logging, and thus speed things up. | 1299 | slowly, try to customize the variable @code{eglot-events-buffer-size} |
| 1299 | 1300 | (@pxref{Eglot Variables}) to 0. This will disable any debug logging | |
| 1300 | If you need to report an Eglot bug, please keep in mind that, because | 1301 | and may speed things up. |
| 1301 | there are so many variables involved, it is generally both very | 1302 | |
| 1302 | @emph{difficult} and @emph{absolutely essential} to reproduce bugs | 1303 | In other situations, the cause of poor performance lies in the LSP |
| 1303 | exactly as they happened to you, the user. Therefore, every bug | 1304 | server itself. Servers use aggressive caching and other techniques to |
| 1304 | report should include: | 1305 | improve their performance. Often, this can be tweaked by changing the |
| 1306 | server configuration (@pxref{Advanced server configuration}). | ||
| 1307 | |||
| 1308 | If you think you have found a bug, we want to hear about it. Before | ||
| 1309 | reporting a bug, keep in mind that interaction with LSP servers | ||
| 1310 | represents a large quantity of unknown variables. Therefore, it is | ||
| 1311 | generally both @emph{difficult} and @emph{absolutely essential} that | ||
| 1312 | the maintainers reproduce bugs exactly as they happened to you, the | ||
| 1313 | user. | ||
| 1314 | |||
| 1315 | To report an Eglot bug, send e-mail to @email{bug-gnu-emacs@@gnu.org}. | ||
| 1316 | |||
| 1317 | Get acquainted with Emacs's bug reporting guidelines (@pxref{Bugs,,, | ||
| 1318 | emacs, GNU Emacs Manual}). Then, follow this checklist specific to | ||
| 1319 | Eglot bug rerpots. | ||
| 1305 | 1320 | ||
| 1306 | @enumerate | 1321 | @enumerate |
| 1307 | @item | 1322 | @item |
| 1308 | The transcript of events obtained from the buffer popped up by | 1323 | Include the transcript of JSONRPC events obtained from the buffer |
| 1309 | @kbd{M-x eglot-events-buffer}. If the transcript can be narrowed down | 1324 | popped up by @kbd{M-x eglot-events-buffer}. You may narrow down the |
| 1310 | to show the problematic exchange, so much the better. This is | 1325 | transcript if you are sure of where the problematic exchange is, but |
| 1311 | invaluable for the investigation and reproduction of the problem. | 1326 | it's safer to include the whole transcript, either attached or inline. |
| 1312 | 1327 | ||
| 1313 | @item | 1328 | @item |
| 1314 | If Emacs signaled an error (an error message was seen or heard), make | 1329 | If Emacs signaled an error (an error message was seen or heard), make |
| 1315 | sure to repeat the process after toggling @code{debug-on-error} on | 1330 | sure to repeat the process after turning on @code{debug-on-error} via |
| 1316 | (via @kbd{M-x toggle-debug-on-error}). This normally produces a | 1331 | @kbd{M-x toggle-debug-on-error}. This normally produces a backtrace |
| 1317 | backtrace of the error that should also be attached to the bug report. | 1332 | of the error that should also be attached to the bug report. |
| 1333 | |||
| 1334 | @item | ||
| 1335 | Include a description of how the maintainer should obtain, install, | ||
| 1336 | and configure the language server you used. Maintainers usually have | ||
| 1337 | access to GNU/Linux systems, though not necessarily the distribution | ||
| 1338 | that you may be using. If possible, try to replicate the problem with | ||
| 1339 | the C/C@t{++} or Python servers, as these are very easy to install. | ||
| 1318 | 1340 | ||
| 1319 | @item | 1341 | @item |
| 1320 | An explanation of how to obtain, install, and configure the language | 1342 | Describe how to setup a @emph{minimal} project directory where Eglot |
| 1321 | server you used. If possible, try to replicate the problem with the | 1343 | should be started for the problem to happen. Describe each file's |
| 1322 | C/C@t{++} or Python servers, as these are very easy to install. | 1344 | name and its contents. Alternatively, you can supply the address of a |
| 1345 | public Git repository. | ||
| 1323 | 1346 | ||
| 1324 | @item | 1347 | @item |
| 1325 | A description of how to setup the @emph{minimal} project (one or two | 1348 | Include versions of the software used. The Emacs version can be |
| 1326 | files and their contents) where the problem happens. | 1349 | obtained with @kbd{M-x emacs-version}. |
| 1350 | |||
| 1351 | It's also essential to include the version of ELPA packages that are | ||
| 1352 | explicitly or implicitly loaded. The optional but popular Company or | ||
| 1353 | Markdown packages are distributed as GNU ELPA packages, not to mention | ||
| 1354 | Eglot itself in some situations. Some major modes (Go, Rust, etc.) | ||
| 1355 | are provided by ELPA packages. It's sometimes easy to miss these, | ||
| 1356 | since they are usually implicitly loaded when visiting a file in that | ||
| 1357 | language. | ||
| 1358 | |||
| 1359 | ELPA packages usually live in @code{~/.emacs.d/elpa} (or what is in | ||
| 1360 | @code{package-user-dir}). Please show the listing of files in that | ||
| 1361 | directory as well. | ||
| 1327 | 1362 | ||
| 1328 | @item | 1363 | @item |
| 1329 | A recipe to replicate the problem with @emph{a clean Emacs run}. This | 1364 | Include a recipe to replicate the problem with @emph{a clean Emacs |
| 1330 | means @kbd{emacs -Q} invocation or a very minimal (no more that 10 | 1365 | run}. This means @kbd{emacs -Q -f package-initialize} invocation |
| 1331 | lines) @file{.emacs} initialization file. @code{eglot-ensure} and | 1366 | which starts Emacs with no configuration and initializes the ELPA |
| 1332 | @code{use-package} calls are generally @emph{not} needed. | 1367 | packages. A very minimal (no more that 10 lines) @file{.emacs} |
| 1368 | initialization file is also acceptable and good means to describe | ||
| 1369 | changes to variables. | ||
| 1370 | |||
| 1371 | There is usually no need to include @kbd{require} statements in the | ||
| 1372 | recipe, as Eglot's functionality uses autoloads. | ||
| 1373 | |||
| 1374 | Likewise, there is rarely the need to use things like | ||
| 1375 | @code{use-package} or @code{eglot-ensure}. This just makes the recipe | ||
| 1376 | harder to follow. Prefer setting variables with @code{setq} and | ||
| 1377 | adding to hooks with @code{add-hook}. Prefer starting Eglot with | ||
| 1378 | @code{M-x eglot}. | ||
| 1333 | 1379 | ||
| 1334 | @item | 1380 | @item |
| 1335 | Make sure to double check all the above elements and re-run the | 1381 | Make sure to double check all the above elements and re-run the recipe |
| 1336 | recipe to see that the problem is reproducible. | 1382 | to see that the problem is reproducible. Following the recipe should |
| 1383 | produce event transcript and error backtraces that are exactly the | ||
| 1384 | same or very similar to the ones you included. If the problem only | ||
| 1385 | happens sometimes, include this information in your bug report. | ||
| 1337 | @end enumerate | 1386 | @end enumerate |
| 1338 | 1387 | ||
| 1339 | Please keep in mind that some problems reported against Eglot may | 1388 | Please keep in mind that some problems reported against Eglot may |
| 1340 | actually be bugs in the language server or the Emacs feature/package | 1389 | actually be bugs in the language server or the Emacs feature/package |
| 1341 | that used Eglot to communicate with the language server. | 1390 | that used Eglot to communicate with the language server. Eglot is, in |
| 1391 | many cases, just a frontend to that functionality. | ||
| 1342 | 1392 | ||
| 1343 | @node GNU Free Documentation License | 1393 | @node GNU Free Documentation License |
| 1344 | @appendix GNU Free Documentation License | 1394 | @appendix GNU Free Documentation License |
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index 3ec07fb4a50..10fc4c85c7b 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi | |||
| @@ -1372,10 +1372,9 @@ among, with differing advantages and disadvantages. The variable | |||
| 1372 | to (as long as @code{idlwave-help-use-assistant} is not set). This | 1372 | to (as long as @code{idlwave-help-use-assistant} is not set). This |
| 1373 | function is used to set the variable @code{browse-url-browser-function} | 1373 | function is used to set the variable @code{browse-url-browser-function} |
| 1374 | locally for IDLWAVE help only. Customize the latter variable to see | 1374 | locally for IDLWAVE help only. Customize the latter variable to see |
| 1375 | what choices of browsers your system offers. Certain browsers like | 1375 | what choices of browsers your system offers. Certain browsers like EWW |
| 1376 | @code{w3} (bundled with many versions of Emacs) and @code{w3m} | 1376 | (@pxref{Top, EWW,, eww, The Emacs Web Wowser Manual}) are run within Emacs, |
| 1377 | (@uref{http://emacs-w3m.namazu.org/}) are run within Emacs, and use | 1377 | and use Emacs buffers to display the HTML help. This can be convenient, |
| 1378 | Emacs buffers to display the HTML help. This can be convenient, | ||
| 1379 | especially on small displays, and images can even be displayed in-line | 1378 | especially on small displays, and images can even be displayed in-line |
| 1380 | on newer Emacs versions. However, better formatting results are often | 1379 | on newer Emacs versions. However, better formatting results are often |
| 1381 | achieved with external browsers, like Mozilla. IDLWAVE assumes any | 1380 | achieved with external browsers, like Mozilla. IDLWAVE assumes any |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 3b5ba3b1390..6f14fc875f4 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -1247,6 +1247,7 @@ syntax requires a leading volume (share) name, for example: | |||
| 1247 | 1247 | ||
| 1248 | @item @option{dav} | 1248 | @item @option{dav} |
| 1249 | @item @option{davs} | 1249 | @item @option{davs} |
| 1250 | @cindex WebDAV | ||
| 1250 | @cindex method @option{dav} | 1251 | @cindex method @option{dav} |
| 1251 | @cindex method @option{davs} | 1252 | @cindex method @option{davs} |
| 1252 | @cindex @option{dav} method | 1253 | @cindex @option{dav} method |