emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/rec-mode aee6cd2f6d 2/3: Add docs about xref


From: ELPA Syncer
Subject: [elpa] externals/rec-mode aee6cd2f6d 2/3: Add docs about xref
Date: Mon, 20 Jun 2022 03:57:54 -0400 (EDT)

branch: externals/rec-mode
commit aee6cd2f6dcad574507c4ce86d30471be11fa405
Author: Antoine Kalmbach <ane@iki.fi>
Commit: Antoine Kalmbach <ane@iki.fi>

    Add docs about xref
    
    * rec-mode.el (xref-backend-identifier-at-point): Use key field to
    represent the current record.
    
    * rec-mode.texi (Top): Add docs about xref support.
---
 rec-mode.el   |  10 +-
 rec-mode.info | 997 ++++++++++++++++++++++++++++++++--------------------------
 rec-mode.texi | 104 +++++-
 3 files changed, 645 insertions(+), 466 deletions(-)

diff --git a/rec-mode.el b/rec-mode.el
index 03fca1e2a5..2c20a86c62 100644
--- a/rec-mode.el
+++ b/rec-mode.el
@@ -1610,8 +1610,14 @@ See `xref-go-forward'."
 
 (cl-defmethod xref-backend-identifier-at-point ((_backend (eql rec)))
   "Return a cross referencable identifier for the current record field at 
point."
-  (when-let ((field (rec-current-field)))
-    (rec-field-name field)))
+  (if-let ((desc (rec-current-record-descriptor))
+           (type (rec-record-descriptor-type desc)))
+      (if-let ((key (rec-record-descriptor-key desc))
+               (value (car-safe (rec-record-assoc key (rec-current-record)))))
+          (format "%s '%s'" type value)
+        type)
+    (when-let ((field (rec-current-field)))
+      (rec-field-name field))))
 
 (cl-defmethod xref-backend-identifier-completion-table ((_backend (eql rec)))
   (if-let* ((descriptor (rec-current-record-descriptor))
diff --git a/rec-mode.info b/rec-mode.info
index de6e42c8b8..052e581688 100644
--- a/rec-mode.info
+++ b/rec-mode.info
@@ -1,17 +1,19 @@
-This is rec-mode.info, produced by makeinfo version 6.7 from
+This is rec-mode.info, produced by makeinfo version 4.8 from
 rec-mode.texi.
 
-This manual is for rec-mode for Emacs, which is part of the GNU
-recutils suite (version 1.8.90, 27 November 2020).
+   This manual is for rec-mode 1.9.0 for Emacs, which is part of the
+GNU recutils suite. This rec-mode manual has last been updated 19
+June 2022.
 
-   Copyright © 2012-2021 Free Software Foundation, Inc.
+   Copyright (C) 2012-2022 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
      Version 1.3 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, no Front-Cover Texts, and
-     no Back-Cover Texts.  A copy of the license is included in the
-     section entitled “GNU Free Documentation License”.
+     Foundation; with no Invariant Sections, no Front-Cover Texts,
+     and no Back-Cover Texts. A copy of the license is included in
+     the section entitled "GNU Free Documentation License".
+
 INFO-DIR-SECTION Emacs
 START-INFO-DIR-ENTRY
 * Rec Mode: (rec-mode). Emacs mode for editing recfiles.
@@ -23,19 +25,20 @@ File: rec-mode.info,  Node: Top,  Next: Introduction,  Up: 
(dir)
 rec-mode: an Emacs mode for editing recfiles
 ********************************************
 
-This manual documents version 1.8.0 of rec-mode.
+This manual documents version 1.9.0 of rec-mode.
 
-   This manual is for rec-mode for Emacs, which is part of the GNU
-recutils suite (version 1.8.90, 27 November 2020).
+   This manual is for rec-mode 1.9.0 for Emacs, which is part of the
+GNU recutils suite. This rec-mode manual has last been updated 19
+June 2022.
 
-   Copyright © 2012-2021 Free Software Foundation, Inc.
+   Copyright (C) 2012-2022 Free Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License,
      Version 1.3 or any later version published by the Free Software
-     Foundation; with no Invariant Sections, no Front-Cover Texts, and
-     no Back-Cover Texts.  A copy of the license is included in the
-     section entitled “GNU Free Documentation License”.
+     Foundation; with no Invariant Sections, no Front-Cover Texts,
+     and no Back-Cover Texts. A copy of the license is included in
+     the section entitled "GNU Free Documentation License".
 
 * Menu:
 
@@ -51,7 +54,7 @@ recutils suite (version 1.8.90, 27 November 2020).
 * Variable and Concept Index::  Variable and Concept Index
 * GNU Free Documentation License::  Distribution terms for this document
 
- — The Detailed Node Listing —
+ --- The Detailed Node Listing ---
 
 Introduction
 
@@ -77,14 +80,14 @@ Selecting records
 
 Cross referencing
 
-* Cross referencing by selection:: Cross reference matching selections.
+* Cross-referencing records using foreign keys:: Jump to records using foreign 
keys
+* Cross referencing by selection:: Navigate between records using selection 
expressions
 
 Configuration
 
 * Finding the recutils::        Specifying the location of the recutils.
 * Records appearance::          Setting the way records are displayed
 
-
 
 File: rec-mode.info,  Node: Introduction,  Next: Navigation mode,  Prev: Top,  
Up: Top
 
@@ -108,7 +111,7 @@ programs.
 
    ---------- Footnotes ----------
 
-   (1) <http://www.gnu.org/software/recutils>
+   (1) `http://www.gnu.org/software/recutils'
 
 
 File: rec-mode.info,  Node: Installation,  Next: Activation,  Up: Introduction
@@ -117,27 +120,30 @@ File: rec-mode.info,  Node: Installation,  Next: 
Activation,  Up: Introduction
 ================
 
 rec-mode is implemented in a self-contained elisp file called
-‘rec-mode.el’.  It can be obtained in several ways:
+`rec-mode.el'.  It can be obtained in several ways:
 
-   − From GNU ELPA (https://elpa.gnu.org/packages/rec-mode.html) using
-     the built-in Emacs package manager.
-   − As part of the source tree cloned from the development git
-     repository of rec-mode.  ‘rec-mode.el’ can be found in the root
+   - From GNU ELPA (https://elpa.gnu.org/packages/rec-mode.html)
+     using the built-in Emacs package manager.
+
+   - As part of the source tree cloned from the development git
+     repository of rec-mode.  `rec-mode.el' can be found in the root
      directory of the recutils sources tree.
-   − As a single file downloaded form some other location in internet.
-   − It may be already installed as part of a binary package in some
+
+   - As a single file downloaded form some other location in internet.
+
+   - It may be already installed as part of a binary package in some
      distribution.
 
 In the second case you need to tell Emacs where to locate the
-‘rec-mode.el’ file and to load it.  Add the following to your ‘.emacs’
-file.
+`rec-mode.el' file and to load it.  Add the following to your
+`.emacs' file.
 
      (add-to-list 'load-path "~/path/to/recmode/")
      (require 'rec-mode)
 
-If ‘rec-mode.el’ was installed as part of a binary package in a
-distribution then you usually don’t have to touch the ‘load-path’
-variable.  Depending on the specific case you may have to ‘require’
+If `rec-mode.el' was installed as part of a binary package in a
+distribution then you usually don't have to touch the `load-path'
+variable.  Depending on the specific case you may have to `require'
 the package.
 
 
@@ -146,23 +152,23 @@ File: rec-mode.info,  Node: Activation,  Next: Feedback,  
Prev: Installation,  U
 1.2 Activation
 ==============
 
-rec-mode should automatically activate when opening ‘.rec’ files.  To
-make sure files with extension ‘.rec’ use rec-mode, add the rec-mode
+rec-mode should automatically activate when opening `.rec' files.  To
+make sure files with extension `.rec' use rec-mode, add the rec-mode
 buffers need font-lock to be turned on - this is the default in
 Emacs(1).
 
-   If the file doesn’t end in ‘.rec’, make the first line of a recfile
-look like this:
+   If the file doesn't end in `.rec', make the first line of a
+recfile look like this:
 
      # -*- mode: rec -*-
 
-which will select rec-mode for this buffer no matter what the file’s
+which will select rec-mode for this buffer no matter what the file's
 name is.
 
    ---------- Footnotes ----------
 
-   (1) If you don’t use font-lock globally, turn it on in the rec
-buffer with ‘(add-hook 'rec-mode-hook 'turn-on-font-lock)’
+   (1) If you don't use font-lock globally, turn it on in the rec
+buffer with `(add-hook 'rec-mode-hook 'turn-on-font-lock)'
 
 
 File: rec-mode.info,  Node: Feedback,  Prev: Activation,  Up: Introduction
@@ -181,7 +187,7 @@ it(1).
    (1) Please consider subscribing to the mailing list, in order to
 minimize the work the mailing list moderators have to do.  The
 subscription can be done online at
-<http://lists.gnu.org/mailman/listinfo/bug-recutils>.
+`http://lists.gnu.org/mailman/listinfo/bug-recutils'.
 
 
 File: rec-mode.info,  Node: Navigation mode,  Next: Edition modes,  Prev: 
Introduction,  Up: Top
@@ -195,11 +201,11 @@ it is a valid recfile and, in that case, to extract 
information like
 the kind of records stored in the file.
 
    If the file does not contain valid rec data then the buffer is put
-in ‘fundamental-mode’ and a description of the syntax error, along its
-location, is notified in the echo area.
+in `fundamental-mode' and a description of the syntax error, along
+its location, is notified in the echo area.
 
    If the file contains valid rec data, the mode sets itself in what
-is known as “navigation mode”.  In this mode the buffer is made
+is known as "navigation mode".  In this mode the buffer is made
 read-only and it is narrowed to the first record present in the file.
 Also, the presentation of the record contents is slightly changed in
 order to improve the visualization of the data: continuation line
@@ -230,24 +236,28 @@ File: rec-mode.info,  Node: Record navigation,  Next: 
Field navigation,  Up: Nav
 
 The following commands jump to other records in the buffer.
 
-‘n’
-‘M-x rec-cmd-goto-next-rec’
+`n'
+`M-x rec-cmd-goto-next-rec'
      Display the next record of the same type in the buffer.
-     ‘C-u N n’ will move next N times.
-‘p’
-‘M-x rec-cmd-goto-previous-rec’
+     `C-u N n' will move next N times.
+
+`p'
+`M-x rec-cmd-goto-previous-rec'
      Display the previous record of the same type in the buffer.
-     ‘C-u N p’ will move backwards N times.
-‘d’
-‘M-x rec-cmd-show-descriptor’
+     `C-u N p' will move backwards N times.
+
+`d'
+`M-x rec-cmd-show-descriptor'
      Display the record descriptor applicable to the current record.
      If the current record is anonymous, i.e. there is not record
-     descriptor.  then this command does nothing.
-‘b’
-‘M-x rec-cmd-jump-back’
+     descriptor. then this command does nothing.
+
+`b'
+`M-x rec-cmd-jump-back'
      Display the record previously displayed in the buffer.
-‘C-c C-t’
-‘M-x rec-find-type’
+
+`C-c C-t'
+`M-x rec-find-type'
      Prompt the user for one of the record types present in the
      recfile and display the first record of the selected type.
 
@@ -260,17 +270,17 @@ File: rec-mode.info,  Node: Field navigation,  Next: 
Field folding,  Prev: Recor
 The following commands iterate through the fields in a record, and to
 get information about some of the properties of the fields.
 
-‘TAB’
-‘M-x rec-cmd-goto-next-field’
-     Move the cursor to the beginning of the name of the next field in
-     the current record.  If the cursor is currently located at the
-     last field of the record then move it to the beginning of the
-     first field.
+`TAB'
+`M-x rec-cmd-goto-next-field'
+     Move the cursor to the beginning of the name of the next field
+     in the current record.  If the cursor is currently located at
+     the last field of the record then move it to the beginning of
+     the first field.
 
-‘t’
-‘M-x rec-cmd-show-type’
-     Show information about the type of the field under the cursor, if
-     it is defined.
+`t'
+`M-x rec-cmd-show-type'
+     Show information about the type of the field under the cursor,
+     if it is defined.
 
 
 File: rec-mode.info,  Node: Field folding,  Next: Field edition,  Prev: Field 
navigation,  Up: Navigation mode
@@ -283,8 +293,8 @@ difficult to have an overview of the contents of the 
record.  The
 following commands fold and unfold the value of the field under the
 cursor.
 
-‘SPC’
-‘M-x rec-cmd-toggle-field-visibility’
+`SPC'
+`M-x rec-cmd-toggle-field-visibility'
      Toggle the visibility of the field under the cursor.  When a
      field is folded then three dots are displayed in the buffer
      instead of the value of the field.
@@ -301,32 +311,36 @@ File: rec-mode.info,  Node: Field edition,  Next: 
Searches,  Prev: Field folding
 
 The following commands change the value of the field under the cursor.
 
-‘e’
-‘M-x rec-cmd-edit-field’
+`e'
+`M-x rec-cmd-edit-field'
      Edit the value of the field under the cursor.  The specific
      action depends on the type of the field in the corresponding
      record descriptor:
-        − For date fields a calendar buffer is opened in another
+        - For date fields a calendar buffer is opened in another
           window and the focus is moved there.  The user can then
-          select a date by moving the cursor there and press ‘RET’ in
+          select a date by moving the cursor there and press `RET' in
           order to set that date as the value for the field.
-          Alternatively the user can press ‘t’ in order to set the
-          field to “now”, or ‘q’ to cancel the operation.  In the
-          later case the value of the field is left untouched.
-        − For enumerated and bool fields a fast-select buffer is
-          opened in another window, showing a list of labeled options.
-          The labels are single digits and letters.  The user can then
-          select ony of the options by pressing the corresponding
-          label, or cancel the operation by pressing ‘RET’.  In the
+          Alternatively the user can press `t' in order to set the
+          field to "now", or `q' to cancel the operation.  In the
           later case the value of the field is left untouched.
-        − For any other kind of fields an edition buffer is opened in
+
+        - For enumerated and bool fields a fast-select buffer is
+          opened in another window, showing a list of labeled
+          options.  The labels are single digits and letters.  The
+          user can then select ony of the options by pressing the
+          corresponding label, or cancel the operation by pressing
+          `RET'.  In the later case the value of the field is left
+          untouched.
+
+        - For any other kind of fields an edition buffer is opened in
           another window, showing the current contents of the field.
           The user can then edit the buffer as desired.  When she is
-          done, the user can then press ‘C-c C-c’ in order to set the
+          done, the user can then press `C-c C-c' in order to set the
           new value of the field, or just kill the buffer to cancel
           the operation.
-‘m’
-‘M-x rec-cmd-trim-field-value’
+
+`m'
+`M-x rec-cmd-trim-field-value'
      Trim the value of the field under the cursor, removing any
      sequence of leading and trailing blank characters.
 
@@ -339,17 +353,18 @@ File: rec-mode.info,  Node: Searches,  Next: Statistics,  
Prev: Field edition,
 The following commands jump to the first record in the buffer
 satisfying some criteria.
 
-‘s q’
-‘M-x rec-cmd-jump-to-fast’
+`s q'
+`M-x rec-cmd-jump-to-fast'
      Display the first record having a field whose value matches a
      given fixed pattern.  This is equivalent of using the command
-     line option ‘-q’ of ‘recsel’.  If a prefix argument is specified
+     line option `-q' of `recsel'.  If a prefix argument is specified
      then the search is case-insensitive.
-‘s s’
-‘M-x rec-cmd-jump-to-sex’
+
+`s s'
+`M-x rec-cmd-jump-to-sex'
      Display the first record in the buffer satisfying a given
      selection expression.  This is equivalent of using the command
-     line option ‘-e’ of ‘recsel’.  If a prefix argument is specified
+     line option `-e' of `recsel'.  If a prefix argument is specified
      then the search is case-insensitive.
 
 
@@ -361,22 +376,24 @@ File: rec-mode.info,  Node: Statistics,  Next: Data 
integrity,  Prev: Searches,
 The following commands allow to count records in the current buffer
 based on some provided criteria.
 
-‘I’
-‘M-x rec-cmd-show-info’
+`I'
+`M-x rec-cmd-show-info'
      Show the number of records in the buffer categorized by type.
-‘#’
-‘M-x rec-cmd-count’
-     Count the number of records in the buffer having the same type as
-     the current record.  With a numeric prefix N, ask for a selection
-     expression and count the number of records in the buffer
-     satisfying the expression.
+
+`#'
+`M-x rec-cmd-count'
+     Count the number of records in the buffer having the same type
+     as the current record.  With a numeric prefix N, ask for a
+     selection expression and count the number of records in the
+     buffer satisfying the expression.
 
      Note that rec-mode tries to guess a reasonable default for the
      selection expression, depending on the type of the field and its
-     value.  If the user press ‘RET’ then the provided default
+     value.  If the user press `RET' then the provided default
      selection expression is used.
-‘%’
-‘M-x rec-cmd-statistics’
+
+`%'
+`M-x rec-cmd-statistics'
      If the field under the cursor contains an enumerated value, show
      the percentages of records in the current record set having
      fields with each of the possible values of the enumerated type.
@@ -390,12 +407,12 @@ File: rec-mode.info,  Node: Data integrity,  Prev: 
Statistics,  Up: Navigation m
 The integrity of the rec data stored in the file can be checked using
 the following commands.
 
-‘c’
-‘M-x rec-cmd-compile’
-     Compile the buffer with ‘recfix’ and open a compilation window
-     showing the result of the command.  In case some error or warning
-     is reported, the user can jump to the location triggering the
-     error by pressing ‘RET’ in the compilation window.
+`c'
+`M-x rec-cmd-compile'
+     Compile the buffer with `recfix' and open a compilation window
+     showing the result of the command.  In case some error or
+     warning is reported, the user can jump to the location
+     triggering the error by pressing `RET' in the compilation window.
 
 
 File: rec-mode.info,  Node: Edition modes,  Next: Summary mode,  Prev: 
Navigation mode,  Up: Top
@@ -408,38 +425,40 @@ for browsing recdata and doing changes at the record 
level: editing
 the contents of a field, adding or removing fields, etc.  In order to
 perform broader changes, such as adding/deleting record descriptors,
 records or comment blocks, the user must enter into one of the
-“edition modes”.
+"edition modes".
 
    There are three edition modes, covering different areas of the
 recfile: record, record type and buffer.  When an edition mode is
 entered the buffer is set in read/write mode, it is narrowed to the
 desired area and any embellishment used in navigation mode is
 removed(1).  As a general rule, the commands available in navigation
-mode are also available in the edition mode prefixed with ‘C-c’ and
-with a control sequence ‘C-’.  Thus, ‘n’, which in record navigation
-mode jumps to the next record, becomes ‘C-c C-n’ in the record edition
-modes.  The exceptions to this are the bindings ‘c’
-(‘rec-cmd-compile’) which becomes ‘C-c C-k’ and ‘h’
-(‘rec-cmd-show-summary’) which becomes ‘C-c M-h’.
+mode are also available in the edition mode prefixed with `C-c' and
+with a control sequence `C-'.  Thus, `n', which in record navigation
+mode jumps to the next record, becomes `C-c C-n' in the record
+edition modes.  The exceptions to this are the bindings `c'
+(`rec-cmd-compile') which becomes `C-c C-k' and `h'
+(`rec-cmd-show-summary') which becomes `C-c M-h'.
 
    The following commands are used to enter into one of the available
 edition modes from the navigation mode.
 
-‘R’
-‘M-x rec-edit-record’
+`R'
+`M-x rec-edit-record'
      Edit the record being navigated.
-‘T’
-‘M-x rec-edit-type’
+
+`T'
+`M-x rec-edit-type'
      Edit the record set being navigated.
-‘B’
-‘M-x rec-edit-buffer’
+
+`B'
+`M-x rec-edit-buffer'
      Edit the buffer.
 
 After doing modifications in the buffer, the user can go back to
 navigation mode by using the following command.
 
-‘C-c C-c’
-‘M-x rec-finish-editing’
+`C-c C-c'
+`M-x rec-finish-editing'
      Finish the current edition and return to navigation mode.  If a
      syntactic error was introduced in the edition activity then the
      error is reported in the echo area and navigation mode is not
@@ -456,19 +475,19 @@ File: rec-mode.info,  Node: Summary mode,  Next: 
Selecting records,  Prev: Editi
 **************
 
 Besides the standard viewing modes of buffers, there is also a third
-option called “summary mode”.  Summary mode is a tabulated list of the
-record in which each record is a row in the table.  The columns in the
-table are determined by user input, or alternatively, by special keys
-in the current file.
+option called "summary mode".  Summary mode is a tabulated list of
+the record in which each record is a row in the table.  The columns in
+the table are determined by user input, or alternatively, by special
+keys in the current file.
 
-‘h’
-‘M-x rec-cmd-show-summary’
+`h'
+`M-x rec-cmd-show-summary'
      Creates a summary buffer from the current type being viewed in
-     the recfile.  The columns are based on user input (prompted), or
-     if the record has either a ‘%summary’ or ‘%key’ in its
+     the recfile. The columns are based on user input (prompted), or
+     if the record has either a `%summary' or `%key' in its
      descriptor, those fields are used.
 
-   The input for the summary query is a “field expression”, a
+   The input for the summary query is a "field expression", a
 comma-separated list of column names.  Thus, if your recfile looks
 like the following:
 
@@ -481,28 +500,29 @@ like the following:
      Name: Matusalem
      Age: 969
 
-   Then calling ‘rec-cmd-show-summary’ and entering ‘Name,Age’ would
+   Then calling `rec-cmd-show-summary' and entering `Name,Age' would
 create a table of all records with those columns.  If your record
-descriptor contains a ‘%summary’ like below:
+descriptor contains a `%summary' like below:
 
      %summary: Age,Name
 
 then this is used as the field expression instead.  Similarly, if no
-‘%summary’ field is defined and a ‘%key’ field exists, then that field
-is used.
+`%summary' field is defined and a `%key' field exists, then that
+field is used.
 
-   Calling this command enters “record summary mode”, which a a major
-mode derived from “tabulated list mode” (*note (elisp)Tabulated List
-mode::).  In this mode, the following bindings are available:
+   Calling this command enters "record summary mode", which a a major
+mode derived from "tabulated list mode" (*note Tabulated List mode:
+(elisp)Tabulated List mode.). In this mode, the following bindings
+are available:
 
-‘n’
-‘M-x rec-summary-cmd-next’
+`n'
+`M-x rec-summary-cmd-next'
      Go to the next record in the summary.
 
 Navigation inside the summary buffer maintains the position of the
 associated recfile buffer, and vice versa.  The currently active
 record in the recfile is shown highlighted in the buffer.  As a
-result, the summary can be thought of as a useful “overview” overview
+result, the summary can be thought of as a useful "overview" overview
 for any recfile buffer.
 
 
@@ -517,11 +537,11 @@ using the searching facilities of recutils.
 
    Selection can be done using two mechanisms:
 
-   • selection expressions, which are expressions that can be applied
-     to a record.  These offer a powerful query language for records.
-     *Note (recutils)Selection Expressions::.
+   * selection expressions, which are expressions that can be applied
+     to a record. These offer a powerful query language for records.
+     *Note Selection Expressions: (recutils)Selection Expressions.
 
-   • fast string searches, which match records whose field values
+   * fast string searches, which match records whose field values
      match a string.
 
    For instance, you can create a new buffer out of the current
@@ -545,23 +565,24 @@ File: rec-mode.info,  Node: Buffer from selection,  Next: 
Selection mode,  Up: S
 =========================
 
 Creating new recfiles based on selections can be done by creating a
-wholly new buffer using the “buffer from selection” commands in
+wholly new buffer using the "buffer from selection" commands in
 rec-mode.
 
-‘x s’
-‘M-x rec-cmd-new-buffer-from-sex’
-     Creates a new buffer from a “selection expression”.  *Note
-     (recutils)Selection Expressions::.  Prompts the user for a
-     selection expression and then displays a new buffer containing
-     records that match the expression.
-‘x q’
-‘M-x rec-cmd-new-buffer-from-fast-string’
-     Creates a new buffer from a “fast string search”.  Prompts the
+`x s'
+`M-x rec-cmd-new-buffer-from-sex'
+     Creates a new buffer from a "selection expression". *Note
+     Selection Expressions: (recutils)Selection Expressions.  Prompts
+     the user for a selection expression and then displays a new
+     buffer containing records that match the expression.
+
+`x q'
+`M-x rec-cmd-new-buffer-from-fast-string'
+     Creates a new buffer from a "fast string search".  Prompts the
      user for a string and then displays a new buffer which contains
      all records whose any field contains this string.
 
-   In both of these commands, if the recfile has a “record
-descriptor”, it is copied as well.
+   In both of these commands, if the recfile has a "record
+descriptor", it is copied as well.
 
 
 File: rec-mode.info,  Node: Selection mode,  Prev: Buffer from selection,  Up: 
Selecting records
@@ -570,14 +591,14 @@ File: rec-mode.info,  Node: Selection mode,  Prev: Buffer 
from selection,  Up: S
 ==================
 
 In both navigation mode and the assorted edition modes,
-‘rec-cmd-goto-next-rec’ and ‘rec-cmd-goto-prev-rec’ navigate to the
+`rec-cmd-goto-next-rec' and `rec-cmd-goto-prev-rec' navigate to the
 next and previous record, respectively.  On large files, finding a
 particular record using these commands only can be quite tedious.  To
 this end, using selections, it is possible to jump to or restrict
 navigation to records matching selections.
 
-Restricting the navigation commands, typically bound to ‘n’ and ‘C-c
-C-n’ (mutatis mutandis for backward movement), to records that match
+Restricting the navigation commands, typically bound to `n' and `C-c
+C-n' (mutatis mutandis for backward movement), to records that match
 the current selection, can be done using what is called record
 selection mode.
 
@@ -586,27 +607,28 @@ commands for next and previous records as described above 
do not
 behave the usual way: they navigate records that only match the
 currently active selection.
 
+   When selection mode is entered, any associated summary buffer
+automatically updates its contents to match that of the current
+selection.  Once selection mode is turned off, the summary buffer
+reverts back to the previous selection.
+
    Record selection mode can be entered by the following commands:
 
-‘/ s’
-‘M-x rec-cmd-navigate-current-type-by-sex’
+`/ s'
+`M-x rec-cmd-navigate-current-type-by-sex'
      Prompts the user for a selection expression, runs a query on the
      current buffer and the current type, and then enters record
      selection mode.
-‘/ q’
-‘M-x rec-cmd-navigate-current-type-by-fast-string’
+
+`/ q'
+`M-x rec-cmd-navigate-current-type-by-fast-string'
      Same as above, but with a fast string search.
 
 In record selection mode, besides the standard navigation bindings,
 the following additional bindings are defined:
 
-‘/ h’
-‘M-x rec-cmd-show-summary-for-selection’
-     Creates a summary buffer (*note Summary mode::) with the contents
-     from the selection instead of the current buffer.
-
-‘/ /’
-‘M-x rec-cmd-exit-selection’
+`/ /'
+`M-x rec-cmd-exit-selection'
      Exits record selection mode and restores the normal navigation
      keybindings.
 
@@ -617,57 +639,128 @@ File: rec-mode.info,  Node: Cross referencing,  Next: 
Configuration,  Prev: Sele
 *******************
 
 Besides navigation, edition and selection, rec-mode provides another
-powerful feature for recfiles, known as “cross referencing”.  In
+powerful feature for recfiles, known as "cross referencing". In
 short, cross referencing is an Emacs term for listing various kinds of
-search results for certain keywords an identifiers.  For records, this
+search results for certain keywords an identifiers. For records, this
 could mean the following:
 
-  1. Finding the type definition of a field.
-  2. Finding the uses of a certain type, the inverse of above.
-  3. Finding the referred record of a foreign key.  If a field is a
+     Finding the referred record of a foreign key.  If a field is a
      key referring to another record, you can jump to that record.
-  4. Finding the referents of a record if it is a foreign key.
-  5. Finding records that match a certain selection expression or fast
+
+  1. Finding the referents of a record if it is a foreign key.
+
+  2. Finding records that match a certain selection expression or fast
      string search.
 
-Emacs provides a unified interface for this called Xref.  *Note
-(emacs)Find Identifier Referencs::.  Rec mode implements several
-backends for these purposes.
+Emacs provides a unified interface for this called Xref, see *Note
+Xref: (emacs)Xref.  rec-mode implements a custom xref backend for the
+purpose of easier navigating between records.
 
    Regardless of functionality, if there are more than one search
-result, Xref searches present their results in a special ‘XREF’
+result, Xref searches present their results in a special `XREF'
 buffer.  It is an ordered list of results, similar to compilation mode
-(*note (emacs)Compilation Mode::).  Xref makes it easy to navigate
-between search results, as it binds the ‘next-error’ functionality,
-letting you navigate the results even if you are outside the rec mode
-buffer.
-
-   As of version 1.8.0, Xref implements only the last functionality,
-cross referencing records by selection expressions or fast string
-searches.
+(*note Compilation Mode: (emacs)Compilation Mode.). Xref makes it
+easy to navigate between search results, as it binds the `next-error'
+functionality, letting you navigate the results even if you are
+outside the rec mode buffer.
 
 * Menu:
 
+* Cross-referencing records using foreign keys::
 * Cross referencing by selection::
 
 
-File: rec-mode.info,  Node: Cross referencing by selection,  Up: Cross 
referencing
+File: rec-mode.info,  Node: Cross-referencing records using foreign keys,  
Next: Cross referencing by selection,  Up: Cross referencing
+
+6.1 Cross-referencing records using foreign keys
+================================================
+
+When a record field is a reference to another record, it is possible
+to use navigate from the referring field to that record. Consider the
+following record:
+
+     %rec: Book
+     %type: Published int
+     %type: Author rec Author
+
+     Title: Cat's Cradle
+     Published: 1963
+     Author: KurtVonnegut
+
+     Title: Breakfast of Champions
+     Published: 1973
+     Author: KurtVonnegut
+
+     Title: The Left Hand of Darkness
+     Published: 1969
+     Author: UrsulaKLeGuin
+
+     %rec: Author
+     %key: Id
+
+     Id: UrsulaKLeGuin
+     Name: Ursula K. Le Guin
+
+     Id: KurtVonnegut
+     Name: Kurt Vonnegut, Jr.
+
+6.1.1 Navigating to referred records
+------------------------------------
+
+Navigating to `Author' field of the `Book' records and hitting `M-.'
+(`xref-goto-definition') will jump the editor to the corresponding
+`Author' record.  The requirement is that the current field is a
+valid foreign key, i.e. the field is a record reference and the
+referred record exists in the current buffer.
+
+6.1.2 Finding record references
+-------------------------------
+
+On the other hand, in the above example, navigating anywhere on an
+`Author' record, it is possible to list all the records referring
+_that_ record using `M-?' (`xref-find-references').  This works on
+any field of the record, since we foreign keys _to_ the record work
+on the record level.
+
+6.1.3 Commands for cross-referencing
+------------------------------------
+
+`M-.'
+`M-x xref-goto-definition'
+     Jump to the record referenced by this field, if possible. Use
+     `M-.' and `C-M-,' to jump between the results.
+
+`M-?'
+`M-x xref-find-references'
+     List all the records that reference this record.  The record
+     referenced must have a `%key' in its descriptor for this to work,
+     and to get any results the referring records must have properly
+     used foreign keys.
+
+
+   For more keybindings, *Note Looking Up Identifiers: (emacs)Looking
+Up Identifiers. For more info about foreign keys in recutils, *Note
+Foreign Keys: (recutils)Foreign Keys.
+
+
+File: rec-mode.info,  Node: Cross referencing by selection,  Prev: 
Cross-referencing records using foreign keys,  Up: Cross referencing
 
-6.1 Cross referencing by selection
+6.2 Cross referencing by selection
 ==================================
 
 Cross referencing by selection lets you perform a query and then list
 the results using the Xref buffer.  Rec mode provides two such
 commands:
 
-‘X s’
-‘M-x rec-cmd-xref-sex’
+`X s'
+`M-x rec-cmd-xref-sex'
      Query the current recfile using a selection expression and the
      current type and then list the results using Xref.  Each results
      shows a small snippet of the matched record making it easier to
      identify which records matched the search.
-‘X q’
-‘M-x rec-cmd-xref-fast-string’
+
+`X q'
+`M-x rec-cmd-xref-fast-string'
      Like above, but using a fast string.  Instead of previewing the
      first three fields of a record, it shows each field where there
      was a match.
@@ -692,19 +785,19 @@ File: rec-mode.info,  Node: Finding the recutils,  Next: 
Records appearance,  Up
 7.1 Finding the recutils
 ========================
 
-‘rec-mode’ makes use of the several utilities which are part of the
+`rec-mode' makes use of the several utilities which are part of the
 recutils.  The following variables tell the mode where to find the
 utilities.  The default values of these variables must work if the
 recutils are installed system-wide in the system.
 
  -- Variable: rec-recsel
-     Name of the ‘recsel’ utility from the GNU recutil.
+     Name of the `recsel' utility from the GNU recutil.
 
  -- Variable: rec-recinf
-     Name of the ‘recinf’ utility from the GNU recutils.
+     Name of the `recinf' utility from the GNU recutils.
 
  -- Variable: rec-recfix
-     Name of the ‘recfix’ utility from the GNU recutils.
+     Name of the `recfix' utility from the GNU recutils.
 
 
 File: rec-mode.info,  Node: Records appearance,  Prev: Finding the recutils,  
Up: Configuration
@@ -719,7 +812,7 @@ tweaking the value of the following variables.
      Values in fiels having more than the specified number of lines
      will be hidden by default in navigation mode.  When hidden, an
      ellipsis is shown instead of the value of the field.  Default is
-     ‘15’.
+     `15'.
 
 
 File: rec-mode.info,  Node: Command Index,  Next: Key Index,  Prev: 
Configuration,  Up: Top
@@ -731,40 +824,43 @@ Command and Function Index
 * Menu:
 
 * rec-cmd-compile:                       Data integrity.     (line 11)
-* rec-cmd-count:                         Statistics.         (line 14)
+* rec-cmd-count:                         Statistics.         (line 15)
 * rec-cmd-edit-field:                    Field edition.      (line 10)
-* rec-cmd-exit-selection:                Selection mode.     (line 44)
+* rec-cmd-exit-selection:                Selection mode.     (line 45)
 * rec-cmd-goto-next-field:               Field navigation.   (line 11)
 * rec-cmd-goto-next-rec:                 Record navigation.  (line 10)
-* rec-cmd-goto-previous-rec:             Record navigation.  (line 14)
-* rec-cmd-jump-back:                     Record navigation.  (line 23)
+* rec-cmd-goto-previous-rec:             Record navigation.  (line 15)
+* rec-cmd-jump-back:                     Record navigation.  (line 26)
 * rec-cmd-jump-to-fast:                  Searches.           (line 11)
-* rec-cmd-jump-to-sex:                   Searches.           (line 17)
+* rec-cmd-jump-to-sex:                   Searches.           (line 18)
 * rec-cmd-navigate-current-type-by-fast-string: Selection mode.
-                                                             (line 32)
-* rec-cmd-navigate-current-type-by-sex:  Selection mode.     (line 27)
+                                                             (line 38)
+* rec-cmd-navigate-current-type-by-sex:  Selection mode.     (line 32)
 * rec-cmd-new-buffer-from-fast-string:   Buffer from selection.
-                                                             (line 18)
+                                                             (line 19)
 * rec-cmd-new-buffer-from-sex:           Buffer from selection.
                                                              (line 12)
-* rec-cmd-show-descriptor:               Record navigation.  (line 18)
+* rec-cmd-show-descriptor:               Record navigation.  (line 20)
 * rec-cmd-show-info:                     Statistics.         (line 11)
 * rec-cmd-show-summary:                  Summary mode.       (line 14)
-* rec-cmd-show-summary-for-selection:    Selection mode.     (line 39)
 * rec-cmd-show-type:                     Field navigation.   (line 18)
-* rec-cmd-statistics:                    Statistics.         (line 25)
+* rec-cmd-statistics:                    Statistics.         (line 27)
 * rec-cmd-toggle-field-visibility:       Field folding.      (line 13)
-* rec-cmd-trim-field-value:              Field edition.      (line 34)
+* rec-cmd-trim-field-value:              Field edition.      (line 38)
 * rec-cmd-xref-fast-string:              Cross referencing by selection.
-                                                             (line 18)
+                                                             (line 19)
 * rec-cmd-xref-sex:                      Cross referencing by selection.
                                                              (line 12)
-* rec-edit-buffer:                       Edition modes.      (line 36)
+* rec-edit-buffer:                       Edition modes.      (line 38)
 * rec-edit-record:                       Edition modes.      (line 30)
-* rec-edit-type:                         Edition modes.      (line 33)
-* rec-find-type:                         Record navigation.  (line 26)
-* rec-finish-editing:                    Edition modes.      (line 43)
-* rec-summary-cmd-next:                  Summary mode.       (line 48)
+* rec-edit-type:                         Edition modes.      (line 34)
+* rec-find-type:                         Record navigation.  (line 30)
+* rec-finish-editing:                    Edition modes.      (line 45)
+* rec-summary-cmd-next:                  Summary mode.       (line 49)
+* xref-find-references:                  Cross-referencing records using 
foreign keys.
+                                                             (line 63)
+* xref-goto-definition:                  Cross-referencing records using 
foreign keys.
+                                                             (line 58)
 
 
 File: rec-mode.info,  Node: Key Index,  Next: Variable and Concept Index,  
Prev: Command Index,  Up: Top
@@ -775,40 +871,43 @@ Key (Character) Index
 [index]
 * Menu:
 
-* #:                                     Statistics.         (line 14)
-* %:                                     Statistics.         (line 25)
-* / /:                                   Selection mode.     (line 44)
-* / h:                                   Selection mode.     (line 39)
-* / q:                                   Selection mode.     (line 32)
-* / s:                                   Selection mode.     (line 27)
-* b:                                     Record navigation.  (line 23)
-* B:                                     Edition modes.      (line 36)
+* #:                                     Statistics.         (line 15)
+* %:                                     Statistics.         (line 27)
+* / /:                                   Selection mode.     (line 45)
+* / q:                                   Selection mode.     (line 38)
+* / s:                                   Selection mode.     (line 32)
+* B:                                     Edition modes.      (line 38)
+* b:                                     Record navigation.  (line 26)
 * c:                                     Data integrity.     (line 11)
-* C-c C-c:                               Edition modes.      (line 43)
-* C-c C-t:                               Record navigation.  (line 26)
-* d:                                     Record navigation.  (line 18)
+* C-c C-c:                               Edition modes.      (line 45)
+* C-c C-t:                               Record navigation.  (line 30)
+* d:                                     Record navigation.  (line 20)
 * e:                                     Field edition.      (line 10)
 * h:                                     Summary mode.       (line 14)
 * I:                                     Statistics.         (line 11)
-* m:                                     Field edition.      (line 34)
-* n:                                     Record navigation.  (line 10)
-* n <1>:                                 Summary mode.       (line 48)
-* p:                                     Record navigation.  (line 14)
+* m:                                     Field edition.      (line 38)
+* M-.:                                   Cross-referencing records using 
foreign keys.
+                                                             (line 58)
+* M-?:                                   Cross-referencing records using 
foreign keys.
+                                                             (line 63)
+* n <1>:                                 Record navigation.  (line 10)
+* n:                                     Summary mode.       (line 49)
+* p:                                     Record navigation.  (line 15)
 * R:                                     Edition modes.      (line 30)
 * s q:                                   Searches.           (line 11)
-* s s:                                   Searches.           (line 17)
+* s s:                                   Searches.           (line 18)
 * SPC:                                   Field folding.      (line 13)
+* T:                                     Edition modes.      (line 34)
 * t:                                     Field navigation.   (line 18)
-* T:                                     Edition modes.      (line 33)
 * TAB:                                   Field navigation.   (line 11)
 * x q:                                   Buffer from selection.
-                                                             (line 18)
+                                                             (line 19)
 * X q:                                   Cross referencing by selection.
-                                                             (line 18)
-* x s:                                   Buffer from selection.
-                                                             (line 12)
+                                                             (line 19)
 * X s:                                   Cross referencing by selection.
                                                              (line 12)
+* x s:                                   Buffer from selection.
+                                                             (line 12)
 
 
 File: rec-mode.info,  Node: Variable and Concept Index,  Next: GNU Free 
Documentation License,  Prev: Key Index,  Up: Top
@@ -824,8 +923,16 @@ Variable and Concept Index
 * bug reports:                           Feedback.           (line  6)
 * counting:                              Statistics.         (line  6)
 * cross referencing:                     Cross referencing.  (line  6)
+* cross referencing, foreign keys:       Cross-referencing records using 
foreign keys.
+                                                             (line  6)
 * cross referencing, selection:          Cross referencing by selection.
                                                              (line  6)
+* cross-referencing, backreferences:     Cross-referencing records using 
foreign keys.
+                                                             (line 47)
+* cross-referencing, goto-definition:    Cross-referencing records using 
foreign keys.
+                                                             (line 38)
+* cross-referencing, keybindings:        Cross-referencing records using 
foreign keys.
+                                                             (line 56)
 * editing fields:                        Field edition.      (line  6)
 * edition modes:                         Edition modes.      (line  6)
 * edition, fields:                       Field edition.      (line  6)
@@ -840,19 +947,18 @@ Variable and Concept Index
 * modes, summary:                        Summary mode.       (line  6)
 * motion, between records:               Record navigation.  (line  6)
 * navigation mode:                       Navigation mode.    (line  6)
-* rec-max-lines-in-fields:               Records appearance. (line  9)
+* rec-max-lines-in-fields:               Records appearance. (line 10)
 * rec-recfix:                            Finding the recutils.
-                                                             (line 17)
+                                                             (line 18)
 * rec-recinf:                            Finding the recutils.
-                                                             (line 14)
+                                                             (line 15)
 * rec-recsel:                            Finding the recutils.
-                                                             (line 11)
+                                                             (line 12)
 * record navigation:                     Record navigation.  (line  6)
 * selection mode:                        Selection mode.     (line  6)
 * selection, buffer:                     Buffer from selection.
                                                              (line  6)
 * summary:                               Summary mode.       (line  6)
-* summary, selection:                    Selection mode.     (line 37)
 * xref:                                  Cross referencing.  (line  6)
 
 
@@ -863,9 +969,9 @@ Appendix A GNU Free Documentation License
 
                     Version 1.3, 3 November 2008
 
-     Copyright © 2000, 2001, 2002, 2007, 2008, 2020 Free Software
+     Copyright (C) 2000, 2001, 2002, 2007, 2008, 2020 Free Software
      Foundation, Inc.
-     <http://fsf.org/>
+     `http://fsf.org/'
 
      Everyone is permitted to copy and distribute verbatim copies
      of this license document, but changing it is not allowed.
@@ -873,7 +979,7 @@ Appendix A GNU Free Documentation License
   0. PREAMBLE
 
      The purpose of this License is to make a manual, textbook, or
-     other functional and useful document “free” in the sense of
+     other functional and useful document "free" in the sense of
      freedom: to assure everyone the effective freedom to copy and
      redistribute it, with or without modifying it, either
      commercially or noncommercially.  Secondarily, this License
@@ -881,19 +987,19 @@ Appendix A GNU Free Documentation License
      their work, while not being considered responsible for
      modifications made by others.
 
-     This License is a kind of “copyleft”, which means that derivative
+     This License is a kind of "copyleft", which means that derivative
      works of the document must themselves be free in the same sense.
      It complements the GNU General Public License, which is a
      copyleft license designed for free software.
 
      We have designed this License in order to use it for manuals for
      free software, because free software needs free documentation: a
-     free program should come with manuals providing the same freedoms
-     that the software does.  But this License is not limited to
-     software manuals; it can be used for any textual work, regardless
-     of subject matter or whether it is published as a printed book.
-     We recommend this License principally for works whose purpose is
-     instruction or reference.
+     free program should come with manuals providing the same
+     freedoms that the software does.  But this License is not
+     limited to software manuals; it can be used for any textual
+     work, regardless of subject matter or whether it is published as
+     a printed book.  We recommend this License principally for works
+     whose purpose is instruction or reference.
 
   1. APPLICABILITY AND DEFINITIONS
 
@@ -902,19 +1008,19 @@ Appendix A GNU Free Documentation License
      can be distributed under the terms of this License.  Such a
      notice grants a world-wide, royalty-free license, unlimited in
      duration, to use that work under the conditions stated herein.
-     The “Document”, below, refers to any such manual or work.  Any
-     member of the public is a licensee, and is addressed as “you”.
-     You accept the license if you copy, modify or distribute the work
-     in a way requiring permission under copyright law.
+     The "Document", below, refers to any such manual or work.  Any
+     member of the public is a licensee, and is addressed as "you".
+     You accept the license if you copy, modify or distribute the
+     work in a way requiring permission under copyright law.
 
-     A “Modified Version” of the Document means any work containing
+     A "Modified Version" of the Document means any work containing
      the Document or a portion of it, either copied verbatim, or with
      modifications and/or translated into another language.
 
-     A “Secondary Section” is a named appendix or a front-matter
+     A "Secondary Section" is a named appendix or a front-matter
      section of the Document that deals exclusively with the
      relationship of the publishers or authors of the Document to the
-     Document’s overall subject (or to related matters) and contains
+     Document's overall subject (or to related matters) and contains
      nothing that could fall directly within that overall subject.
      (Thus, if the Document is in part a textbook of mathematics, a
      Secondary Section may not explain any mathematics.)  The
@@ -922,7 +1028,7 @@ Appendix A GNU Free Documentation License
      subject or with related matters, or of legal, commercial,
      philosophical, ethical or political position regarding them.
 
-     The “Invariant Sections” are certain Secondary Sections whose
+     The "Invariant Sections" are certain Secondary Sections whose
      titles are designated, as being those of Invariant Sections, in
      the notice that says that the Document is released under this
      License.  If a section does not fit the above definition of
@@ -931,57 +1037,57 @@ Appendix A GNU Free Documentation License
      Document does not identify any Invariant Sections then there are
      none.
 
-     The “Cover Texts” are certain short passages of text that are
+     The "Cover Texts" are certain short passages of text that are
      listed, as Front-Cover Texts or Back-Cover Texts, in the notice
      that says that the Document is released under this License.  A
      Front-Cover Text may be at most 5 words, and a Back-Cover Text
      may be at most 25 words.
 
-     A “Transparent” copy of the Document means a machine-readable
-     copy, represented in a format whose specification is available to
-     the general public, that is suitable for revising the document
+     A "Transparent" copy of the Document means a machine-readable
+     copy, represented in a format whose specification is available
+     to the general public, that is suitable for revising the document
      straightforwardly with generic text editors or (for images
-     composed of pixels) generic paint programs or (for drawings) some
-     widely available drawing editor, and that is suitable for input
-     to text formatters or for automatic translation to a variety of
-     formats suitable for input to text formatters.  A copy made in an
-     otherwise Transparent file format whose markup, or absence of
-     markup, has been arranged to thwart or discourage subsequent
-     modification by readers is not Transparent.  An image format is
-     not Transparent if used for any substantial amount of text.  A
-     copy that is not “Transparent” is called “Opaque”.
+     composed of pixels) generic paint programs or (for drawings)
+     some widely available drawing editor, and that is suitable for
+     input to text formatters or for automatic translation to a
+     variety of formats suitable for input to text formatters.  A
+     copy made in an otherwise Transparent file format whose markup,
+     or absence of markup, has been arranged to thwart or discourage
+     subsequent modification by readers is not Transparent.  An image
+     format is not Transparent if used for any substantial amount of
+     text.  A copy that is not "Transparent" is called "Opaque".
 
      Examples of suitable formats for Transparent copies include plain
      ASCII without markup, Texinfo input format, LaTeX input format,
      SGML or XML using a publicly available DTD, and
      standard-conforming simple HTML, PostScript or PDF designed for
      human modification.  Examples of transparent image formats
-     include PNG, XCF and JPG. Opaque formats include proprietary
+     include PNG, XCF and JPG.  Opaque formats include proprietary
      formats that can be read and edited only by proprietary word
-     processors, SGML or XML for which the DTD and/or processing tools
-     are not generally available, and the machine-generated HTML,
-     PostScript or PDF produced by some word processors for output
-     purposes only.
-
-     The “Title Page” means, for a printed book, the title page
-     itself, plus such following pages as are needed to hold, legibly,
-     the material this License requires to appear in the title page.
-     For works in formats which do not have any title page as such,
-     “Title Page” means the text near the most prominent appearance of
-     the work’s title, preceding the beginning of the body of the
-     text.
-
-     The “publisher” means any person or entity that distributes
+     processors, SGML or XML for which the DTD and/or processing
+     tools are not generally available, and the machine-generated
+     HTML, PostScript or PDF produced by some word processors for
+     output purposes only.
+
+     The "Title Page" means, for a printed book, the title page
+     itself, plus such following pages as are needed to hold,
+     legibly, the material this License requires to appear in the
+     title page.  For works in formats which do not have any title
+     page as such, "Title Page" means the text near the most
+     prominent appearance of the work's title, preceding the
+     beginning of the body of the text.
+
+     The "publisher" means any person or entity that distributes
      copies of the Document to the public.
 
-     A section “Entitled XYZ” means a named subunit of the Document
+     A section "Entitled XYZ" means a named subunit of the Document
      whose title either is precisely XYZ or contains XYZ in
      parentheses following text that translates XYZ in another
-     language.  (Here XYZ stands for a specific section name mentioned
-     below, such as “Acknowledgements”, “Dedications”, “Endorsements”,
-     or “History”.)  To “Preserve the Title” of such a section when
-     you modify the Document means that it remains a section “Entitled
-     XYZ” according to this definition.
+     language.  (Here XYZ stands for a specific section name
+     mentioned below, such as "Acknowledgements", "Dedications",
+     "Endorsements", or "History".)  To "Preserve the Title" of such
+     a section when you modify the Document means that it remains a
+     section "Entitled XYZ" according to this definition.
 
      The Document may include Warranty Disclaimers next to the notice
      which states that this License applies to the Document.  These
@@ -999,28 +1105,28 @@ Appendix A GNU Free Documentation License
      you add no other conditions whatsoever to those of this License.
      You may not use technical measures to obstruct or control the
      reading or further copying of the copies you make or distribute.
-     However, you may accept compensation in exchange for copies.  If
-     you distribute a large enough number of copies you must also
+     However, you may accept compensation in exchange for copies.
+     If you distribute a large enough number of copies you must also
      follow the conditions in section 3.
 
-     You may also lend copies, under the same conditions stated above,
-     and you may publicly display copies.
+     You may also lend copies, under the same conditions stated
+     above, and you may publicly display copies.
 
   3. COPYING IN QUANTITY
 
      If you publish printed copies (or copies in media that commonly
      have printed covers) of the Document, numbering more than 100,
-     and the Document’s license notice requires Cover Texts, you must
-     enclose the copies in covers that carry, clearly and legibly, all
-     these Cover Texts: Front-Cover Texts on the front cover, and
+     and the Document's license notice requires Cover Texts, you must
+     enclose the copies in covers that carry, clearly and legibly,
+     all these Cover Texts: Front-Cover Texts on the front cover, and
      Back-Cover Texts on the back cover.  Both covers must also
      clearly and legibly identify you as the publisher of these
      copies.  The front cover must present the full title with all
      words of the title equally prominent and visible.  You may add
      other material on the covers in addition.  Copying with changes
      limited to the covers, as long as they preserve the title of the
-     Document and satisfy these conditions, can be treated as verbatim
-     copying in other respects.
+     Document and satisfy these conditions, can be treated as
+     verbatim copying in other respects.
 
      If the required texts for either cover are too voluminous to fit
      legibly, you should put the first ones listed (as many as fit
@@ -1029,17 +1135,17 @@ Appendix A GNU Free Documentation License
 
      If you publish or distribute Opaque copies of the Document
      numbering more than 100, you must either include a
-     machine-readable Transparent copy along with each Opaque copy, or
-     state in or with each Opaque copy a computer-network location
+     machine-readable Transparent copy along with each Opaque copy,
+     or state in or with each Opaque copy a computer-network location
      from which the general network-using public has access to
      download using public-standard network protocols a complete
-     Transparent copy of the Document, free of added material.  If you
-     use the latter option, you must take reasonably prudent steps,
-     when you begin distribution of Opaque copies in quantity, to
-     ensure that this Transparent copy will remain thus accessible at
-     the stated location until at least one year after the last time
-     you distribute an Opaque copy (directly or through your agents or
-     retailers) of that edition to the public.
+     Transparent copy of the Document, free of added material.  If
+     you use the latter option, you must take reasonably prudent
+     steps, when you begin distribution of Opaque copies in quantity,
+     to ensure that this Transparent copy will remain thus accessible
+     at the stated location until at least one year after the last
+     time you distribute an Opaque copy (directly or through your
+     agents or retailers) of that edition to the public.
 
      It is requested, but not required, that you contact the authors
      of the Document well before redistributing any large number of
@@ -1049,9 +1155,9 @@ Appendix A GNU Free Documentation License
   4. MODIFICATIONS
 
      You may copy and distribute a Modified Version of the Document
-     under the conditions of sections 2 and 3 above, provided that you
-     release the Modified Version under precisely this License, with
-     the Modified Version filling the role of the Document, thus
+     under the conditions of sections 2 and 3 above, provided that
+     you release the Modified Version under precisely this License,
+     with the Modified Version filling the role of the Document, thus
      licensing distribution and modification of the Modified Version
      to whoever possesses a copy of it.  In addition, you must do
      these things in the Modified Version:
@@ -1059,16 +1165,16 @@ Appendix A GNU Free Documentation License
        A. Use in the Title Page (and on the covers, if any) a title
           distinct from that of the Document, and from those of
           previous versions (which should, if there were any, be
-          listed in the History section of the Document).  You may use
-          the same title as a previous version if the original
+          listed in the History section of the Document).  You may
+          use the same title as a previous version if the original
           publisher of that version gives permission.
 
        B. List on the Title Page, as authors, one or more persons or
           entities responsible for authorship of the modifications in
           the Modified Version, together with at least five of the
           principal authors of the Document (all of its principal
-          authors, if it has fewer than five), unless they release you
-          from this requirement.
+          authors, if it has fewer than five), unless they release
+          you from this requirement.
 
        C. State on the Title page the name of the publisher of the
           Modified Version, as the publisher.
@@ -1084,45 +1190,45 @@ Appendix A GNU Free Documentation License
           in the Addendum below.
 
        G. Preserve in that license notice the full lists of Invariant
-          Sections and required Cover Texts given in the Document’s
+          Sections and required Cover Texts given in the Document's
           license notice.
 
        H. Include an unaltered copy of this License.
 
-       I. Preserve the section Entitled “History”, Preserve its Title,
-          and add to it an item stating at least the title, year, new
-          authors, and publisher of the Modified Version as given on
-          the Title Page.  If there is no section Entitled “History”
-          in the Document, create one stating the title, year,
-          authors, and publisher of the Document as given on its Title
-          Page, then add an item describing the Modified Version as
-          stated in the previous sentence.
-
-       J. Preserve the network location, if any, given in the Document
-          for public access to a Transparent copy of the Document, and
-          likewise the network locations given in the Document for
-          previous versions it was based on.  These may be placed in
-          the “History” section.  You may omit a network location for
-          a work that was published at least four years before the
-          Document itself, or if the original publisher of the version
-          it refers to gives permission.
-
-       K. For any section Entitled “Acknowledgements” or
-          “Dedications”, Preserve the Title of the section, and
+       I. Preserve the section Entitled "History", Preserve its
+          Title, and add to it an item stating at least the title,
+          year, new authors, and publisher of the Modified Version as
+          given on the Title Page.  If there is no section Entitled
+          "History" in the Document, create one stating the title,
+          year, authors, and publisher of the Document as given on
+          its Title Page, then add an item describing the Modified
+          Version as stated in the previous sentence.
+
+       J. Preserve the network location, if any, given in the
+          Document for public access to a Transparent copy of the
+          Document, and likewise the network locations given in the
+          Document for previous versions it was based on.  These may
+          be placed in the "History" section.  You may omit a network
+          location for a work that was published at least four years
+          before the Document itself, or if the original publisher of
+          the version it refers to gives permission.
+
+       K. For any section Entitled "Acknowledgements" or
+          "Dedications", Preserve the Title of the section, and
           preserve in the section all the substance and tone of each
-          of the contributor acknowledgements and/or dedications given
-          therein.
+          of the contributor acknowledgements and/or dedications
+          given therein.
 
        L. Preserve all the Invariant Sections of the Document,
           unaltered in their text and in their titles.  Section
           numbers or the equivalent are not considered part of the
           section titles.
 
-       M. Delete any section Entitled “Endorsements”.  Such a section
+       M. Delete any section Entitled "Endorsements".  Such a section
           may not be included in the Modified Version.
 
        N. Do not retitle any existing section to be Entitled
-          “Endorsements” or to conflict in title with any Invariant
+          "Endorsements" or to conflict in title with any Invariant
           Section.
 
        O. Preserve any Warranty Disclaimers.
@@ -1132,12 +1238,12 @@ Appendix A GNU Free Documentation License
      material copied from the Document, you may at your option
      designate some or all of these sections as invariant.  To do
      this, add their titles to the list of Invariant Sections in the
-     Modified Version’s license notice.  These titles must be distinct
-     from any other section titles.
+     Modified Version's license notice.  These titles must be
+     distinct from any other section titles.
 
-     You may add a section Entitled “Endorsements”, provided it
+     You may add a section Entitled "Endorsements", provided it
      contains nothing but endorsements of your Modified Version by
-     various parties—for example, statements of peer review or that
+     various parties--for example, statements of peer review or that
      the text has been approved by an organization as the
      authoritative definition of a standard.
 
@@ -1147,10 +1253,10 @@ Appendix A GNU Free Documentation License
      passage of Front-Cover Text and one of Back-Cover Text may be
      added by (or through arrangements made by) any one entity.  If
      the Document already includes a cover text for the same cover,
-     previously added by you or by arrangement made by the same entity
-     you are acting on behalf of, you may not add another; but you may
-     replace the old one, on explicit permission from the previous
-     publisher that added the old one.
+     previously added by you or by arrangement made by the same
+     entity you are acting on behalf of, you may not add another; but
+     you may replace the old one, on explicit permission from the
+     previous publisher that added the old one.
 
      The author(s) and publisher(s) of the Document do not by this
      License give permission to use their names for publicity for or
@@ -1177,19 +1283,19 @@ Appendix A GNU Free Documentation License
      notice of the combined work.
 
      In the combination, you must combine any sections Entitled
-     “History” in the various original documents, forming one section
-     Entitled “History”; likewise combine any sections Entitled
-     “Acknowledgements”, and any sections Entitled “Dedications”.  You
-     must delete all sections Entitled “Endorsements.”
+     "History" in the various original documents, forming one section
+     Entitled "History"; likewise combine any sections Entitled
+     "Acknowledgements", and any sections Entitled "Dedications".
+     You must delete all sections Entitled "Endorsements."
 
   6. COLLECTIONS OF DOCUMENTS
 
      You may make a collection consisting of the Document and other
-     documents released under this License, and replace the individual
-     copies of this License in the various documents with a single
-     copy that is included in the collection, provided that you follow
-     the rules of this License for verbatim copying of each of the
-     documents in all other respects.
+     documents released under this License, and replace the
+     individual copies of this License in the various documents with
+     a single copy that is included in the collection, provided that
+     you follow the rules of this License for verbatim copying of
+     each of the documents in all other respects.
 
      You may extract a single document from such a collection, and
      distribute it individually under this License, provided you
@@ -1200,18 +1306,18 @@ Appendix A GNU Free Documentation License
   7. AGGREGATION WITH INDEPENDENT WORKS
 
      A compilation of the Document or its derivatives with other
-     separate and independent documents or works, in or on a volume of
-     a storage or distribution medium, is called an “aggregate” if the
-     copyright resulting from the compilation is not used to limit the
-     legal rights of the compilation’s users beyond what the
-     individual works permit.  When the Document is included in an
-     aggregate, this License does not apply to the other works in the
-     aggregate which are not themselves derivative works of the
+     separate and independent documents or works, in or on a volume
+     of a storage or distribution medium, is called an "aggregate" if
+     the copyright resulting from the compilation is not used to
+     limit the legal rights of the compilation's users beyond what
+     the individual works permit.  When the Document is included in
+     an aggregate, this License does not apply to the other works in
+     the aggregate which are not themselves derivative works of the
      Document.
 
      If the Cover Text requirement of section 3 is applicable to these
      copies of the Document, then if the Document is less than one
-     half of the entire aggregate, the Document’s Cover Texts may be
+     half of the entire aggregate, the Document's Cover Texts may be
      placed on covers that bracket the Document within the aggregate,
      or the electronic equivalent of covers if the Document is in
      electronic form.  Otherwise they must appear on printed covers
@@ -1222,19 +1328,19 @@ Appendix A GNU Free Documentation License
      Translation is considered a kind of modification, so you may
      distribute translations of the Document under the terms of
      section 4.  Replacing Invariant Sections with translations
-     requires special permission from their copyright holders, but you
-     may include translations of some or all Invariant Sections in
-     addition to the original versions of these Invariant Sections.
-     You may include a translation of this License, and all the
-     license notices in the Document, and any Warranty Disclaimers,
-     provided that you also include the original English version of
-     this License and the original versions of those notices and
-     disclaimers.  In case of a disagreement between the translation
-     and the original version of this License or a notice or
-     disclaimer, the original version will prevail.
-
-     If a section in the Document is Entitled “Acknowledgements”,
-     “Dedications”, or “History”, the requirement (section 4) to
+     requires special permission from their copyright holders, but
+     you may include translations of some or all Invariant Sections
+     in addition to the original versions of these Invariant
+     Sections.  You may include a translation of this License, and
+     all the license notices in the Document, and any Warranty
+     Disclaimers, provided that you also include the original English
+     version of this License and the original versions of those
+     notices and disclaimers.  In case of a disagreement between the
+     translation and the original version of this License or a notice
+     or disclaimer, the original version will prevail.
+
+     If a section in the Document is Entitled "Acknowledgements",
+     "Dedications", or "History", the requirement (section 4) to
      Preserve its Title (section 1) will typically require changing
      the actual title.
 
@@ -1265,57 +1371,58 @@ Appendix A GNU Free Documentation License
      not permanently reinstated, receipt of a copy of some or all of
      the same material does not give you any rights to use it.
 
-  10. FUTURE REVISIONS OF THIS LICENSE
+ 10. FUTURE REVISIONS OF THIS LICENSE
 
-     The Free Software Foundation may publish new, revised versions of
-     the GNU Free Documentation License from time to time.  Such new
-     versions will be similar in spirit to the present version, but
-     may differ in detail to address new problems or concerns.  See
-     <http://www.gnu.org/copyleft/>.
+     The Free Software Foundation may publish new, revised versions
+     of the GNU Free Documentation License from time to time.  Such
+     new versions will be similar in spirit to the present version,
+     but may differ in detail to address new problems or concerns.
+     See `http://www.gnu.org/copyleft/'.
 
      Each version of the License is given a distinguishing version
      number.  If the Document specifies that a particular numbered
-     version of this License “or any later version” applies to it, you
-     have the option of following the terms and conditions either of
-     that specified version or of any later version that has been
+     version of this License "or any later version" applies to it,
+     you have the option of following the terms and conditions either
+     of that specified version or of any later version that has been
      published (not as a draft) by the Free Software Foundation.  If
      the Document does not specify a version number of this License,
-     you may choose any version ever published (not as a draft) by the
-     Free Software Foundation.  If the Document specifies that a proxy
-     can decide which future versions of this License can be used,
-     that proxy’s public statement of acceptance of a version
+     you may choose any version ever published (not as a draft) by
+     the Free Software Foundation.  If the Document specifies that a
+     proxy can decide which future versions of this License can be
+     used, that proxy's public statement of acceptance of a version
      permanently authorizes you to choose that version for the
      Document.
 
-  11. RELICENSING
+ 11. RELICENSING
 
-     “Massive Multiauthor Collaboration Site” (or “MMC Site”) means
+     "Massive Multiauthor Collaboration Site" (or "MMC Site") means
      any World Wide Web server that publishes copyrightable works and
      also provides prominent facilities for anybody to edit those
-     works.  A public wiki that anybody can edit is an example of such
-     a server.  A “Massive Multiauthor Collaboration” (or “MMC”)
+     works.  A public wiki that anybody can edit is an example of
+     such a server.  A "Massive Multiauthor Collaboration" (or "MMC")
      contained in the site means any set of copyrightable works thus
      published on the MMC site.
 
-     “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
+     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
      license published by Creative Commons Corporation, a
      not-for-profit corporation with a principal place of business in
-     San Francisco, California, as well as future copyleft versions of
-     that license published by that same organization.
+     San Francisco, California, as well as future copyleft versions
+     of that license published by that same organization.
 
-     “Incorporate” means to publish or republish a Document, in whole
+     "Incorporate" means to publish or republish a Document, in whole
      or in part, as part of another Document.
 
-     An MMC is “eligible for relicensing” if it is licensed under this
+     An MMC is "eligible for relicensing" if it is licensed under this
      License, and if all works that were first published under this
      License somewhere other than this MMC, and subsequently
      incorporated in whole or in part into the MMC, (1) had no cover
-     texts or invariant sections, and (2) were thus incorporated prior
-     to November 1, 2008.
+     texts or invariant sections, and (2) were thus incorporated
+     prior to November 1, 2008.
+
+     The operator of an MMC Site may republish an MMC contained in
+     the site under CC-BY-SA on the same site at any time before
+     August 1, 2009, provided the MMC is eligible for relicensing.
 
-     The operator of an MMC Site may republish an MMC contained in the
-     site under CC-BY-SA on the same site at any time before August 1,
-     2009, provided the MMC is eligible for relicensing.
 
 ADDENDUM: How to use this License for your documents
 ====================================================
@@ -1333,7 +1440,7 @@ license notices just after the title page:
        Free Documentation License''.
 
    If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the “with...Texts.” line with this:
+Texts, replace the "with...Texts." line with this:
 
          with the Invariant Sections being LIST THEIR TITLES, with
          the Front-Cover Texts being LIST, and with the Back-Cover Texts
@@ -1351,41 +1458,37 @@ permit their use in free software.
 
 
 Tag Table:
-Node: Top775
-Node: Introduction3395
-Ref: Introduction-Footnote-14146
-Node: Installation4193
-Node: Activation5342
-Ref: Activation-Footnote-15931
-Node: Feedback6063
-Ref: Feedback-Footnote-16481
-Node: Navigation mode6702
-Node: Record navigation8447
-Node: Field navigation9440
-Node: Field folding10129
-Node: Field edition10880
-Node: Searches12714
-Node: Statistics13520
-Node: Data integrity14611
-Node: Edition modes15137
-Ref: Edition modes-Footnote-117094
-Node: Summary mode17125
-Node: Selecting records19084
-Node: Buffer from selection20327
-Node: Selection mode21267
-Node: Cross referencing23062
-Node: Cross referencing by selection24688
-Node: Configuration25483
-Node: Finding the recutils25845
-Node: Records appearance26512
-Node: Command Index27036
-Node: Key Index29676
-Node: Variable and Concept Index32255
-Node: GNU Free Documentation License34913
+Node: Top803
+Node: Introduction3546
+Ref: Introduction-Footnote-14297
+Node: Installation4344
+Node: Activation5458
+Ref: Activation-Footnote-16031
+Node: Feedback6157
+Ref: Feedback-Footnote-16575
+Node: Navigation mode6796
+Node: Record navigation8533
+Node: Field navigation9481
+Node: Field folding10154
+Node: Field edition10897
+Node: Searches12699
+Node: Statistics13474
+Node: Data integrity14539
+Node: Edition modes15049
+Ref: Edition modes-Footnote-116932
+Node: Summary mode16963
+Node: Selecting records18876
+Node: Buffer from selection20135
+Node: Selection mode21064
+Node: Cross referencing22874
+Node: Cross-referencing records using foreign keys24324
+Node: Cross referencing by selection26587
+Node: Configuration27420
+Node: Finding the recutils27782
+Node: Records appearance28433
+Node: Command Index28953
+Node: Key Index31838
+Node: Variable and Concept Index34662
+Node: GNU Free Documentation License37881
 
 End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:
diff --git a/rec-mode.texi b/rec-mode.texi
index 0f3ecc705b..de8f397a76 100644
--- a/rec-mode.texi
+++ b/rec-mode.texi
@@ -3,10 +3,10 @@
 @documentencoding UTF-8
 @setfilename rec-mode.info
 @settitle rec-mode for Emacs
-@set UPDATED 27 November 2020
+@set UPDATED 19 June 2022
 @set EDITION 1.8.90
 @set VERSION 1.8.90
-@set RECMODEVERSION 1.8.0
+@set RECMODEVERSION 1.9.0
 @afourpaper
 @comment %**end of header
 
@@ -28,10 +28,10 @@
 @synindex cp vr
 
 @copying
-This manual is for rec-mode for Emacs, which is part of the GNU
-recutils suite (version @value{VERSION}, @value{UPDATED}).
+This manual is for rec-mode @value{RECMODEVERSION} for Emacs, which is part of 
the GNU
+recutils suite. This rec-mode manual has last been updated @value{UPDATED}.
 
-Copyright @copyright{} 2012-2021 Free Software Foundation, Inc.
+Copyright @copyright{} 2012-2022 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -108,7 +108,8 @@ Selecting records
 
 Cross referencing
 
-* Cross referencing by selection:: Cross reference matching selections.
+* Cross-referencing records using foreign keys:: Jump to records using foreign 
keys
+* Cross referencing by selection:: Navigate between records using selection 
expressions
 
 Configuration
 
@@ -629,11 +630,6 @@ search results for certain keywords an identifiers. For 
records, this
 could mean the following:
 
 @enumerate
-@item
-Finding the type definition of a field.
-@item
-Finding the uses of a certain type, the inverse of above.
-@item
 Finding the referred record of a foreign key.  If a field is a key
 referring to another record, you can jump to that record.
 @item
@@ -643,8 +639,10 @@ Finding records that match a certain selection expression 
or fast
 string search.
 @end enumerate
 
-@noindent Emacs provides a unified interface for this called Xref.  @xref{Find
-Identifier Referencs,,,emacs,GNU Emacs Manual}.
+@noindent Emacs provides a unified interface for this called Xref, see
+@xref{Xref,,,emacs,GNU Emacs Manual}.  rec-mode
+implements a custom xref backend for the purpose of easier navigating
+between records.
 
 Regardless of functionality, if there are more than one search result,
 Xref searches present their results in a special @code{XREF} buffer.
@@ -654,14 +652,86 @@ easy to navigate between search results, as it binds the
 @code{next-error} functionality, letting you navigate the results even
 if you are @i{outside} the rec mode buffer.
 
-As of version @value{RECMODEVERSION}, Xref implements only the last
-functionality, cross referencing records by selection expressions or
-fast string searches.
-
 @menu
+* Cross-referencing records using foreign keys::
 * Cross referencing by selection::
 @end menu
 
+@node Cross-referencing records using foreign keys
+@section Cross-referencing records using foreign keys
+@cindex cross referencing, foreign keys
+
+When a record field is a reference to another record, it is possible
+to use navigate from the referring field to that record. Consider the
+following record:
+
+@example
+%rec: Book
+%type: Published int
+%type: Author rec Author
+
+Title: Cat's Cradle
+Published: 1963
+Author: KurtVonnegut
+
+Title: Breakfast of Champions
+Published: 1973
+Author: KurtVonnegut
+
+Title: The Left Hand of Darkness
+Published: 1969
+Author: UrsulaKLeGuin
+
+%rec: Author
+%key: Id
+
+Id: UrsulaKLeGuin
+Name: Ursula K. Le Guin
+
+Id: KurtVonnegut
+Name: Kurt Vonnegut, Jr.
+
+@end example
+
+@subsection Navigating to referred records
+@cindex cross-referencing, goto-definition
+
+Navigating to @code{Author} field of the @code{Book} records and
+hitting @kbd{M-.} (@code{xref-goto-definition}) will jump the editor
+to the corresponding @code{Author} record.  The requirement is that
+the current field is a valid foreign key, i.e. the field is a record
+reference and the referred record exists in the current buffer.
+
+@subsection Finding record references
+@cindex cross-referencing, backreferences
+
+On the other hand, in the above example, navigating anywhere on an
+@code{Author} record, it is possible to list all the records referring
+@emph{that} record using @kbd{M-?} (@code{xref-find-references}).
+This works on any field of the record, since we foreign keys @emph{to}
+the record work on the record level.
+
+@subsection Commands for cross-referencing
+@cindex cross-referencing, keybindings
+
+@table @kbd
+@reccmd{M-., xref-goto-definition}
+
+Jump to the record referenced by this field, if possible. Use
+@kbd{M-.} and @kbd{C-M-,} to jump between the results.
+
+@reccmd{M-?, xref-find-references}
+
+List all the records that reference this record.  The record
+referenced must have a @code{%key} in its descriptor for this to work,
+and to get any results the referring records must have properly used
+foreign keys. 
+
+@end table
+
+For more keybindings, @xref{Looking Up Identifiers,,,emacs,Gnu Emacs
+Manual}. For more info about foreign keys in recutils, @xref{Foreign 
Keys,,,recutils,Recutils Manual}.
+
 @node Cross referencing by selection
 @section Cross referencing by selection
 @cindex cross referencing, selection



reply via email to

[Prev in Thread] Current Thread [Next in Thread]