summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md42
-rw-r--r--.github/issue_template.md33
-rw-r--r--helm-source.el57
3 files changed, 60 insertions, 72 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index cf079efb..bf7174f9 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -7,24 +7,19 @@ assignees: ''
---
-## Expected behavior
-
-## Actual behavior (from `emacs-helm.sh` if possible, see note at the bottom)
-
-## Steps to reproduce (recipe)
-
-## Backtraces if any (`M-x toggle-debug-on-error`)
+# Important! Before filing an issue, please consider the following:
-## Describe versions of Helm, Emacs, operating system, etc.
+ * Try to find if your bug is not already reported.
-## Are you using `emacs-helm.sh` to reproduce this bug? (yes/no):
+ * If you are using a preconfigured Emacs (Spacemacs, Doom etc...) \
+ reproduce your bug out of this environment (see note below).
-## Are you using Spacemacs? (yes/no):
+ * Please follow the below template.
-## IMPORTANT NOTE
+ Thanks!
-Helm provides a script named `emacs-helm.sh` which runs Helm in a neutral
-environment: no other packages and only minimal settings.
+NOTE:
+Helm provides a script named `emacs-helm.sh` which runs Helm in a neutral environment.
When possible, use it to reproduce your Helm issue to ensure no other package is
interfering.
@@ -32,4 +27,23 @@ interfering.
To run it, simply switch to the directory where Helm is installed and call `./emacs-helm.sh`.
If necessary you can specify emacs executable path on command line with "-P" option.
-Thanks.
+For people using straight to manage their packages you have to specify
+the path to you emacs-async installation:
+
+cd ~/.emacs.d/straight/repos/helm
+EMACSLOADPATH="../emacs-async:" ./emacs-helm.sh
+
+
+
+## Expected behavior
+
+## Actual behavior (from `emacs-helm.sh` if possible, see note above)
+
+## Steps to reproduce (recipe)
+
+## Backtraces if any (`M-x toggle-debug-on-error`)
+
+## Describe versions of Helm, Emacs, operating system, etc.
+
+## Are you using `emacs-helm.sh` to reproduce this bug? (yes/no):
+
diff --git a/.github/issue_template.md b/.github/issue_template.md
deleted file mode 100644
index 0d5e3af2..00000000
--- a/.github/issue_template.md
+++ /dev/null
@@ -1,33 +0,0 @@
-## Expected behavior
-
-## Actual behavior (from `emacs-helm.sh` if possible, see note at the bottom)
-
-## Steps to reproduce (recipe)
-
-## Backtraces if any (`M-x toggle-debug-on-error`)
-
-## Describe versions of Helm, Emacs, operating system, etc.
-
-## Are you using `emacs-helm.sh` to reproduce this bug? (yes/no):
-
-## Are you using Spacemacs? (yes/no):
-
-## IMPORTANT NOTE
-
-Helm provides a script named `emacs-helm.sh` which runs Helm in a neutral
-environment: no other packages and only minimal settings.
-
-When possible, use it to reproduce your Helm issue to ensure no other package is
-interfering.
-
-To run it, simply switch to the directory where Helm is installed and
-call `./emacs-helm.sh`. If necessary you can specify emacs executable
-path on command line with "-P" option. For people using straight to
-manage their packages you have to specify the path to you emacs-async
-installation:
-
-cd ~/.emacs.d/straight/repos/helm
-EMACSLOADPATH="../emacs-async:" ./emacs-helm.sh
-
-
-Thanks.
diff --git a/helm-source.el b/helm-source.el
index 253a958c..9d1932ee 100644
--- a/helm-source.el
+++ b/helm-source.el
@@ -1008,33 +1008,40 @@ an eieio class."
(slot-value source 'header-line)))))
(defun helm-source--header-line (source)
+ "Compute a default header line for SOURCE.
+
+The header line is based on one of `persistent-action-if',
+`persistent-action', or `action' (in this order of precedence)."
(substitute-command-keys
(concat "\\<helm-map>\\[helm-execute-persistent-action]: "
- (helm-aif (or (slot-value source 'persistent-action)
- (slot-value source 'action))
- (cond ((and (symbolp it)
- (functionp it)
- (eq it 'identity))
- "Do Nothing")
- ((and (symbolp it)
- (boundp it)
- (listp (symbol-value it))
- (stringp (caar (symbol-value it))))
- (caar (symbol-value it)))
- ((or (symbolp it) (functionp it))
- (helm-symbol-name it))
- ((listp it)
- (let ((action (car it)))
- ;; It comes from :action ("foo" . function).
- (if (stringp (car action))
- (car action)
- ;; It comes from :persistent-action
- ;; (function . 'nosplit) Fix Bug#788.
- (if (or (symbolp action)
- (functionp action))
- (helm-symbol-name action)))))
- (t ""))
- "")
+ (helm-acond
+ ((slot-value source 'persistent-action-if)
+ (helm-symbol-name it))
+ ((or (slot-value source 'persistent-action)
+ (slot-value source 'action))
+ (cond ((and (symbolp it)
+ (functionp it)
+ (eq it 'identity))
+ "Do Nothing")
+ ((and (symbolp it)
+ (boundp it)
+ (listp (symbol-value it))
+ (stringp (caar (symbol-value it))))
+ (caar (symbol-value it)))
+ ((or (symbolp it) (functionp it))
+ (helm-symbol-name it))
+ ((listp it)
+ (let ((action (car it)))
+ ;; It comes from :action ("foo" . function).
+ (if (stringp (car action))
+ (car action)
+ ;; It comes from :persistent-action
+ ;; (function . 'nosplit) Fix Bug#788.
+ (if (or (symbolp action)
+ (functionp action))
+ (helm-symbol-name action)))))
+ (t "")))
+ (t ""))
" (keeping session)")))
(cl-defmethod helm--setup-source ((_source helm-source)))